YARN框架機制

YARN框架:資源調度框架

在執行job.waitforcompletion(true)時候會啓動一個進程Runjar,至關於MapReduce程序提交客戶端,靠這個與集羣通訊spa

1.Runjar向ResourceManager申請一個jobblog

2.ResourceManager給Runjar返回一個job資源提交的路徑(staging- dir)和爲本job產生一個jobID隊列

3.Runjar提交資源到HDFS上去進程

4.Runjar向ResourceManager彙報提交結果內存

5.ResourceManager把本job加入任務隊列資源

6.NodeManager經過心跳機制向ResourceManager獲取任務it

7.NodeManage產生container,分配運行資源容器,包括CPU、內存等資源;同時也會把文件資源加載到容器io

此時在container中代碼、配置文件、資源都有了須要執行MapReduce,那麼在哪臺機器上運行,每一個節點執行幾個map,幾個reduce,這些YARN就不知道了,YARN只作資源管理,它不能去啓動mapreduceast

由MapReduce框架封裝的MRAPPMaster實現,就是mapreduce的應用程序的管理者,它是由YARN框架啓動的

8.啓動MRAPPMaster,到此YARN框架任務基本完成

9.MRAPPMaster向ResourceManager註冊,獲取在哪一個節點運行

map task進程叫yarnChild

10.MRAPPMaster啓動map task任務進程

11.MRAPPMaster啓動reduce task任務進程

map執行完,MRAPPMaster會通知YARN回收

12.job完成後MRAPPMaster向ResourceManager註銷本身

YARN框架,主要做用的爲ResoucceManager--------管理NodeManaer

MapReduce框架彙總,主要做用的爲MRAPPMaster-----------管理yarnChild

相關文章
相關標籤/搜索