Yarn二、YARN 工作流程&&MapReduce2架構設計
MapReduce2架構設計,相同叫法(MapReduce提交到Yarn的工作流程,Yarn的工作流程,Yarn的架構設計)
MR1程序:
JobTracker
TaskTracker: map task 、reduce task
MR2: 寫程式碼打成jar包提交給yarn執行即可
1.不需要部署
2.架構設計
1:使用者向YARN中提交應用程式,其中包括ApplicationMaster程式、啟動ApplicationMaster的命令、使用者程式等。
2:ResourceManager為該應用程式分配第一個Container,並與對應的Node-Manager通訊,要求它在這個Container中啟動應用程式的ApplicationMaster。
3:ApplicationMaster首先向ResourceManager註冊,這樣使用者可以直接通過ResourceManage檢視應用程式的執行狀態,然後它將為各個任務申請資源,並監控它的執行狀態,直到執行結束,即重複步驟4~7。
4:ApplicationMaster採用輪詢的方式通過RPC協議向ResourceManager申請和領取資源。
5:一旦ApplicationMaster申請到資源後,便與對應的NodeManager通訊,要求它啟動任務。
6:NodeManager為任務設定好執行環境(包括環境變數、JAR包、二進位制程式等)後,將任務啟動命令寫到一個指令碼中,並通
過執行該指令碼啟動任務。
7:各個任務通過某個RPC協議向ApplicationMaster彙報自己的狀態和進度,以讓ApplicationMaster隨時掌握各個任務的執行狀態,從而可以在任務失敗時重新啟動任務。在應用程式執行過程中,使用者可隨時通過RPC向ApplicationMaster查詢應用程式的當前執行狀態。
8:應用程式執行完成後,ApplicationMaster向ResourceManager登出並關閉自己。
當用戶向 YARN 中提交一個應用程式後, YARN 將分兩個階段執行該應用程式:
a. 第一個階段是啟動ApplicationMaster;
b. 第二個階段是由ApplicationMaster建立應用程式,為它申請資源,並監控它的整個執行過程,直到執行完成。
http://116.207.129.111:8088/cluster
shuffle洗牌的工作原理圖
若澤大資料交流群:671914634