Hadoop系列——Yarn上作业的提交流程
分类:
文章
•
2023-12-17 21:24:04

提交流程
- 作业提交
-
Client
调用job.waitForCompletion
方法,向整个集群提交MapReduce作业。
-
Client
向ResourceManager
申请一个作业id
。
-
RM
给Client
返回资源提交的路径和作业id
。
-
Client
将jar包,切片信息,xml配置文件提交到指定路径。
-
Client
提交完成后向MR
申请运行mrApplicationMaster
。
- 作业初始化
-
RM
收到Client
的请求以后,将job转换成一个Task,提交到任务队列中。
- 某一个空闲的
NodeManager
领取该job。
-
NM
创建Container
,申请运行mrApp
。
-
NM
下载Client
提交的资源。
- 任务分配
-
mrApp
向RM
请求运行多个MapTask
任务。
-
RM
将mrApp
提交的任务分配给多个NM
,NM
分别启动MapTask
。
-
MapTask
运行完毕以后,mrApp
向RM
请求运行ReduceTask
。
-
RduceTask
从MapTask
获取相应的分区数据。
- 程序运行完毕以后,
MR
向RM
注销自己。