官术网_书友最值得收藏!

3.3 YARN工作流程

YARN集群中應用程序的執(zhí)行流程如圖3-5所示。

圖3-5 YARN應用程序執(zhí)行流程

(1)客戶端提交應用程序(可以是MapReduce程序、Spark程序等)到ResourceManager。

(2)ResourceManager分配用于運行ApplicationMaster的Container,然后與NodeManager通信,要求它在該Container中啟動ApplicationMaster。ApplicationMaster啟動后,它將負責此應用程序的整個生命周期。

(3)ApplicationMaster向ResourceManager注冊(注冊后可以通過ResourceManager查看應用程序的運行狀態(tài))并請求運行應用程序各個Task所需的Container(資源請求是對一些Container的請求)。如果符合條件,ResourceManager會分配給 ApplicationMaster所需的Container(表達為Container ID和主機名)。

(4)ApplicationMaster請求NodeManager使用這些Container來運行應用程序的相應Task(即將Task發(fā)布到指定的Container中運行)。

此外,各個運行中的Task會通過RPC協(xié)議向ApplicationMaster匯報自己的狀態(tài)和進度,這樣一旦某個Task運行失敗時,ApplicationMaster可以對其重新啟動。當應用程序運行完成時,ApplicationMaster會向ResourceManager申請注銷自己。

主站蜘蛛池模板: 二连浩特市| 休宁县| 上饶县| 济宁市| 抚顺县| 永川市| 天津市| 永新县| 永兴县| 寻甸| 林口县| 高密市| 尼勒克县| 沈阳市| 枣阳市| 威信县| 遵化市| 温宿县| 长宁区| 上饶县| 望江县| 光泽县| 宜君县| 柞水县| 罗甸县| 方正县| 吕梁市| 遵化市| 杭锦后旗| 浮山县| 富宁县| 华安县| 玛沁县| 连平县| 卢湾区| 元谋县| 新沂市| 遂溪县| 平安县| 宜丰县| 楚雄市|