YARN原理及其工作流程

YARN工作原理

一 YARN組成元素及其功能

RM:YARN的管理者
NM:YARN的執行者

二 YARN工作原理

首先數據上傳到集羣中.然後將寫好的程序打成架包通過命令提交MR作業.提交到集羣后由集羣管理者MR開始調度分配資源.到HDFS讀取數據執行MapReduce相關進程對數據進行計算

三 具體流程

第一步: Client執行main()函數中runjob();開啓作業

第二步:client向RM發送作業請求同時RM將作業id以及jar包存放路徑返回給Client

第三步:Client會把Jar路徑爲前綴作業id爲後綴作爲唯一存放路徑,將jar包寫入到HDFS集羣中,默認情況下jar包寫10份,而其他數據只寫3份 當改程序運行完後刪除這些數據

第四步:Client再次將Jar存放地址(更爲詳細的描述)提交給RM.

第五步:RM將其放入調度器,向NM發送命令,NM開啓MRAPPMaster進程,MR根據HDFS中jar包數據量爲NM分配任務.

第六步:NM通過心跳機制接受調度器分配的任務

第七步:NM會開啓內部YARNChild

第八步:YARNChild根據命令到HDFS檢索作業資源,

第九步:YARNChild開啓MapTask 或者Reduce Task

第十步:map計算YARNChild調度的數據.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章