大数据开发之Hadoop篇----提交作业到yarn上的流程

当一个mapreduce作业被提交到yarn上面的时候,他的流程是这样的:

1,当client想yarn提交了作业后,就意味着想ResourceManager申请一个ApplicationMaster。这个时候RM(这里我们将ResourceManager简称为RM,同理NodeManager为NM)将分配一个ApplicationMaster给这个作业,同时向相应的NM进行rpc通信要求其启动一个container,在这个container里面启动所分配的ApplicationMaster。

2,随后这个ApplicationMaster将向RM中的ApplicationManager反向注册,这样用户就可以通过web界面直接监控和查看作业的具体情况。然后ApplicationMaster将想ResourceScheduer申请和领取资源(资源列表就是一系列NM)。

3,当获取到了NM列表后ApplicationMaster将与相关的NM进行rpc通信,要求他们启动相关的container,这些container里面就是运行作业的task任务的。

4,各个container里面的task通过rpc通信定期想ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个task的运行状态,从而在task失败的时候可以重启task,用户也可以通过web界面来实时地查看应用程序的情况。

5,当作业完成后,ApplicationMaster将想ApplicationManager注销并关闭。

总结起来就是两个阶段:第一个阶段是提交作业到RM上面并开启一个ApplicationMaster。第二阶段,ApplicationMaster申请资源并将task分配到NM上运行同时监控他们直到作业完成并被注销关闭。

猜你喜欢

转载自blog.csdn.net/weixin_39702831/article/details/83090080
今日推荐