YARN工作機制


1、基本架構

(1)組成:YARN 主要由 ResourceManager、NodeManager、ApplicationMaster 和 Container 等組件構成

(2)ResourceManager作用

1)處理客戶端請求

2)監控NodeManager

3)啟動或監控ApplicationMaster

4)資源的分配與調度

(3)NodeManager作用

1)管理單個節點上的資源

2)處理來自ResourceManager的命令

3)處理來自ApplicationMaster的命令

(4)ApplicationMaster 作用

1)負責數據的切分

2)為應用程序申請資源並分配給內部的任務

3)任務的監控與容錯

(5)Container :Container是YARN中的資源抽象,它封裝了某個節點上的多維度資源,如內存、CPU、磁盤、網絡等。

2、工作機制

(1)Mr 程序提交到客戶端所在的節點(生成job.split、job.xml...等任務規划配置文件)。

(2)Yarnrunner 根據job運行所需資源向Resourcemanager 申請Application,RM將該應用程序的資源路徑返回給 yarnrunner,將運行所需資源提交到 HDFS 上之后申請開啟App。

(3)RM 將用戶的請求初始化成一個 task,其中一個 NodeManager 領取到 task 任務, 創建容器 Container,並產生 Appmaster。

(4)Container 從 HDFS 上拷貝任務規划配置文件以及資源到本地,Appmaster 向 RM 申請運行 maptask 資源,RM 將運行 maptask 任務分配給另外兩個 NodeManager,另兩個 NodeManager 分別領取任務並創建容器。

(5)AppMaster 向兩個接收到任務的 NodeManager 發送程序啟動腳本,這兩個 NodeManager分別啟動 maptask 對數據分區排序。

(6)AppMaster 等待所有 maptask 運行完畢后,向 RM 申請容器,運行 reduce task。

(7)reduce task 向 maptask 獲取相應分區的數據。程序運行完畢后,AppMaster 會向 RM 申請注銷自己。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM