2023學(xué)年完整公開(kāi)課版YARN中運(yùn)行Mapreduce程序_第1頁(yè)
2023學(xué)年完整公開(kāi)課版YARN中運(yùn)行Mapreduce程序_第2頁(yè)
2023學(xué)年完整公開(kāi)課版YARN中運(yùn)行Mapreduce程序_第3頁(yè)
2023學(xué)年完整公開(kāi)課版YARN中運(yùn)行Mapreduce程序_第4頁(yè)
2023學(xué)年完整公開(kāi)課版YARN中運(yùn)行Mapreduce程序_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

YARN中運(yùn)行Mapreduce程序目錄一、Yarn作業(yè)運(yùn)行流程二、提交WordCount程序一、Yarn作業(yè)運(yùn)行流程首先我們來(lái)討論一下一個(gè)作業(yè)是如何在Yarn中運(yùn)行的。1、MapReduce2中的作業(yè)提交是使用與MapReduce1相同的用戶(hù)API。2、從資源管理器獲取新的作業(yè)ID,在YARN命名法中它是一個(gè)應(yīng)用程序ID。3、作業(yè)客戶(hù)端檢查作業(yè)的輸出說(shuō)明,計(jì)算輸入分片并將作業(yè)資源(包括作業(yè)JAR、配置和分片信息)復(fù)制到HDFS。4、通過(guò)調(diào)用資源管理器上的submitApplication方法提交作。作業(yè)是如何在Yarn中運(yùn)行的一、Yarn作業(yè)運(yùn)行流程5、資源管理器收到調(diào)用它的submitApplication消息后,便將請(qǐng)求傳遞給調(diào)度器(scheduler)。調(diào)度器分配一個(gè)容器,然后資源管理器在節(jié)點(diǎn)管理器的管理下在容器中啟動(dòng)應(yīng)用程序的master進(jìn)程。6、MapReduce作業(yè)的applicationmaster是一個(gè)Java應(yīng)用程序,它的主類(lèi)是MRAppMaster。它對(duì)作業(yè)進(jìn)行初始化:通過(guò)創(chuàng)建多個(gè)簿記對(duì)象以保持對(duì)作業(yè)進(jìn)度的跟蹤,因?yàn)樗鼘⒔邮軄?lái)自任務(wù)的進(jìn)度和完成報(bào)告。作業(yè)是如何在Yarn中運(yùn)行的一、Yarn作業(yè)運(yùn)行流程7、接下來(lái)master接受來(lái)自共享文件系統(tǒng)的在客戶(hù)端計(jì)算的輸入分片,對(duì)每一個(gè)分片創(chuàng)建一個(gè)map任務(wù)對(duì)象一級(jí)有mapreduce.job.reduces屬性確定的多個(gè)reduce任務(wù)對(duì)象。接下來(lái),applicationmaster決定如何運(yùn)行構(gòu)成MapReduce作業(yè)的各個(gè)任務(wù)。如果作業(yè)很小,就選擇在與它同一個(gè)JVM上運(yùn)行任務(wù),相對(duì)于在一個(gè)節(jié)點(diǎn)上順序運(yùn)行他們,判斷在新的容器中分配和運(yùn)行任務(wù)的開(kāi)銷(xiāo)大于并行運(yùn)行它們的開(kāi)銷(xiāo)時(shí),就會(huì)發(fā)生這一情況。作業(yè)是如何在Yarn中運(yùn)行的一、Yarn作業(yè)運(yùn)行流程8、如果作業(yè)不適合作為uber任務(wù)運(yùn)行,那么applicationmaster就會(huì)為該作業(yè)中的左右map任務(wù)和reduce任務(wù)向資源管理器請(qǐng)求容器。心跳信息的請(qǐng)求包括每個(gè)map任務(wù)的數(shù)據(jù)本地化信息,特別是輸入分片所在的主機(jī)和相應(yīng)機(jī)架信息。調(diào)度器使用這些信息來(lái)做調(diào)度決策。理想情況下,它將任務(wù)分配到數(shù)據(jù)本地化的節(jié)點(diǎn),但如果不可能這樣做,調(diào)度器就會(huì)相對(duì)于非本地化的分配優(yōu)先使用機(jī)架本地化的分配。任務(wù)分配一、Yarn作業(yè)運(yùn)行流程9、

一旦資源管理器的調(diào)度器(scheduler)為任務(wù)分配了容器,applicationmaster就通過(guò)與節(jié)點(diǎn)管理器通信來(lái)啟動(dòng)容器(container)10、該任務(wù)由主類(lèi)為YarnChild的Java應(yīng)用程序執(zhí)行。在它運(yùn)行任務(wù)之前,首先將任務(wù)需要的資源本地化,包括作業(yè)的配置、JAR文件和所有來(lái)自分布式緩存的文件11、運(yùn)行map任務(wù)和reduce任務(wù)。任務(wù)執(zhí)行一、Yarn作業(yè)運(yùn)行流程在YARN下運(yùn)行時(shí),任務(wù)每三秒通過(guò)umbilical接口向applicationmaster匯報(bào)進(jìn)度和狀態(tài)(包含計(jì)數(shù)器),作為作業(yè)的匯聚視圖(aggregateview)。進(jìn)度、狀態(tài)更新一、Yarn作業(yè)運(yùn)行流程除了向applicationmaster查詢(xún)進(jìn)度外,客戶(hù)端每5秒鐘還通過(guò)調(diào)用Job的waitForCompletion來(lái)檢查作業(yè)是否完成。作業(yè)完成后,applicationmaster和任務(wù)容器清理其工作狀態(tài),OutputCommiter的作業(yè)清理方法會(huì)被調(diào)用。作業(yè)歷史服務(wù)器保存作業(yè)的信息供用戶(hù)需要時(shí)查詢(xún)。作業(yè)完成二、提交WordCount程序如何將WordCount單詞統(tǒng)計(jì)的MapReduce代碼程序提交至Yarn集群中來(lái)運(yùn)行。操作步驟包括:1、將代碼打包成Jar包;2、上傳至Hadoop集群當(dāng)中3、上傳測(cè)試數(shù)據(jù);4、執(zhí)行作業(yè)。作業(yè)完成二、提交WordCount程序運(yùn)行jar文件。我們可以把自己的MapReduce代碼打包到j(luò)ar文件中,使用這個(gè)命令執(zhí)行。hadoop:$HADOOP_HOME/bin下的shell腳本名。jar:hadoop腳本需要的command參數(shù)。[mainCl

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論