上一篇文章《Hadoop系列(二十九)Yarn集群架构介绍》我们介绍了yarn集群的架构,这篇文章我们介绍下yarn任务提交的整个流程。首先来看看这个yarn提交的流程图:
这里的话,整个client向yarn提交一个应用程序任务的时候,yarn会将整个提交阶段分为两个部分,分别是:
第一个部分:启动ApplicationMaster。 第二个部分:由ApplicationMaster创建应用程序,为它申请资源,监控运行直到结束。
下面我们详细的介绍下整个yarn任务提交的流程。
1、⽤户向YARN提交⼀个应⽤程序,并指定ApplicationMaster程序、启动ApplicationMaster的命令、⽤户程序。 2、ResourceManager为这个应⽤程序分配第⼀个Container,并与之对应的NM通讯,要求它在这个Container中启动应⽤程序ApplicationMaster。 3、ApplicationMaster向ResourceManager注册,然后拆分为内部各个⼦任务,为各个内部任务申请资源,并监控这些任务的运⾏,直到结束。 4、ApplicationMaster采⽤轮询的⽅式向RM申请和领取资源。 5、ResourceManager为ApplicationMaster分配资源,以Container形式返回 6、ApplicationMaster申请到资源后,便与之对应的NM通讯,要求NodeManager启动任务。 7、NodeManager为任务设置好运⾏环境,将任务启动命令写到⼀个脚本中,并通过运⾏这个脚本启动任务 8、各个任务向AM汇报⾃⼰的状态和进度,以便当任务失败时可以重启任务。 9、应⽤程序完成后,ApplicationMaster向ResourceManager注销并关闭⾃⼰
以上就是Yarn任务提交的整个流程。
还没有评论,来说两句吧...