MapReduce提交job处理过程及yarn框架机制

处理过程:

1.mp程序产生RunJar进程向resource manager申请执行一个job

2.resource manager返回job相关资源提交的路径staging-dir和为本job生成的jobID

3.mp程序向HDFS提交资源到对于的staging-dir路径下

4.mp程序向resourcemanager反馈提交结果

5.resourcemanager将job加入任务队列中,并指定此job分配到哪些node manager去执行任务,node manager通过心跳机制与resource manager保持通信。

6.node manager去检查resource manager的任务队列,如果发现新的job则领取任务。

7.YARN框架为每个node manager为此任务分配资源(CPU,内存),产生一个container运行资源容器。

8.YARN框架仅仅是为job分配资源,并不知道程序如何运行,而job程序需要MapReduce运行。因此resource manager 启动MRAppMaster。

9.MRAppMaster向resource manager进行注册。

10.MRAppMaster 在 container运行资源容器中生成map task(yarnChild进程),启动MapReduce程序,并监控运行情况。

11.当 map --> shuffle 完成后,MRAppMaster 在 container运行资源容器中生成reduce task进程

12.job完成后向resourcemanager注销自己,释放资源 


推荐阅读更多精彩内容