《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...