Mapreduce yarn工作機制

2021-08-13 18:03:06 字數 1221 閱讀 5708

《mapreduce切片機制》

mapreduce&yarn工作機制:

mapreduce程式執行過程是這樣的:程式通過

job.submit()

提交後,通過

yarnrunner

中動態**

(proxy)

遠端呼叫,跟

yarn resourcemanager

通訊,獲得乙個資源提交路徑和

jobid

,然後客戶端

mapreduce

程式通過

hdfs

獲得檔案的資訊

(檔案大小

),根據檔案大小和使用者設定的

minsize

、maxsize

引數,對檔案進行切片規劃,並最終形成

job.split

檔案提交到提交路徑上去,此外還會將程式執行的

jar包和

job引數形成

job.xml

提交到提交路徑上。最後向

resourcemanager

傳送提交完畢的資訊,並且申請執行。

resourcemanager將使用者的請求初始化成乙個

task

,放到排程佇列裡面。

nodemanager

按一定心跳頻率,訪問佇列檢視是否有自己的任務,其實這裡也是rpc呼叫,通過呼叫返回的值,來確定有沒有自己的任務,有就領取任務。

nodamanager根據任務引數,構造出具體

cpu和記憶體的

container

,用來執行

,同時將提交路徑上的

job.xml\job.split\....jar

根據切片資訊,判斷出每個切片所在的

datanode

,然後再向

resourcemanager

申請執行

masktask

,resourcemanager

將他加入到排程佇列中,等待

nodemanager

來領取任務。剩下的過程和前面類似。

具體mapreduce執行流程請看:

《mapreduce執行全流程》

注:他們之間的通訊時通過rpc呼叫實現的。

最後配張流程圖:

對MapReduce Yarn的深刻理解

1.mapreduce詳細工作流程之map階段 2.mapreduce流程之reduce階段巨集觀上看 reducetask分為四個階段 1.copy 2.merge 3.sort 4.reduce 1.copy reducetask將遠端從maptask上覆制過來要處理的資料,針對某一片資料,如果...

工作啊,工作

這篇blog是發生在上個月,應該是5月19日的事。18日的早上我接到要根據乙個具體的功能描述寫相應的測試文件。當時那個eoin 只是說讓我寫,並沒有告訴我什麼時候交貨。當時我手頭上還有乙份測試報告的更新沒完成。我花了3個小時完成了那份報告,然後又去根本報告去做測試,把bug放到網上,就這樣差不多大半...

工作技能 找工作

1.c 找工作前刷300 500 leetcode 書單 c primer 繼承派生多型 虛基類等概念 區別 聯絡 effective c 繼承派生多型 虛基類等概念 區別 聯絡 設計模式 實現常用的設計模式就行 2.指令碼語言 推薦 阿銘學習linux 鳥哥的私房菜基礎篇 二選一 leetcode...