【Yarn】工作機制及任務提交流程

本文以mr程序爲例,解釋yarn的工作機制及任務提交流程:在這裏插入圖片描述
0. mr程序提交任務到客戶端所在節點;
1.節點上的YarnRunner向ResourceManager申請一個Application;
2. ResourceManager會把Application資源路徑及application_id返回YarnRunner;
3. 該程序將job運行所需資源提交到HDFS;
4. 資源提交完畢後,向ResourceManager申請運行mrAppMaster;
5. ResourceManager將用戶請求初始化爲1個task;
6. 某個NodeManager領取到task任務;
7. 此NodeManager在節點上創建容器Container,並生成mrAppMaster;
8. Container從HDFS上拷貝job資源到本地;
9. mrAppMaster向ResourceManager申請運行job的MapTask資源;
10.ResourceManager將運行任務分配給其他NodeManager,NodeManager領取到任務後創建容 器Container;
11.mrAppMaster分別向接收到任務的NodeManager發送mr程序啓動腳本,NodeManager在節點上生成MapTask,對數據進行計算;
12.mrAppMaster等待所有MapTask運行完畢後,向ResourceManager申請容器,運行ReduceTask;
13.ReduceTask向MapTask獲取相應分區數據,並進行計算;
14.程序運行結束後,mrAppMaster向ResourceManager申請註銷自己;

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