大資料06-MapTask、Shuffle、ReduceTask,yarn工作機制
阿新 • • 發佈:2019-01-12
一、MapReduce整個工作流程:
二、 yarn基本架構和工作機制
一、yarn基本架構
(0)Mr 程式提交到客戶端所在的節點。
(1)Yarnrunner 向 Resourcemanager 申請一個 Application。
(2)rm 將該應用程式的資源路徑返回給 yarnrunner。
(3)該程式將執行所需資源提交到 HDFS 上。
(4)程式資源提交完畢後,申請執行 mrAppMaster。
(5)RM 將使用者的請求初始化成一個 task。
(6)其中一個 NodeManager 領取到 task 任務。
(7)該 NodeManager 建立容器 Container,併產生 MRAppmaster。
(8)Container 從 HDFS 上拷貝資源到本地。
(9)MRAppmaster 向 RM 申請執行 maptask 資源。
(10)RM 將執行 maptask 任務分配給另外兩個 NodeManager,另兩個 NodeManager 分
別領取任務並建立容器。
(11)MR 向兩個接收到任務的 NodeManager 傳送程式啟動指令碼,這兩個 NodeManager
分別啟動 maptask,maptask 對資料分割槽排序。
(12)MrAppMaster 等待所有 maptask 執行完畢後,向 RM 申請容器,執行 reduce task。
(13)reduce task 向 maptask 獲取相應分割槽的資料。
(14)程式執行完畢後,MR 會向 RM 申請登出自己。