YARN的任务提交流程简述及图解

#YARN的任务提交流程简述及图解

1,Client向ResourceManager发出请求,提交程序,(ResourceManager中有Scheduler调度器和ApplicationsManager应用程序管理器

2,ResourceManager向Scheduler返回一个ApplicationID作为回应
3,Client向RM回应Application Submission Context(ASC)。ASC包括ApplicationID、user、queue,以及其他一些启动AM相关的信息,除此之外,还有一个Container Launch Context(CLC),CLC包含了资源请求数(内存与CPU),job files,安全token,以及其他一些用以在一个node上启动AM的信息。任务一旦提交以后,client可以请求RM去杀死应用或查询应用的运行状态,

4,当RM接受到ASC后,它会调度一个合适的container来启动AM,这个container经常被称作为container 0。AM需要请求其他的container来运行任务,如果没有合适的container,AM就不能启动。当有合适的container时,RM发请求到合适的NM上,来启动AM。这时候,AM的PRC与监控的URL就已经建立了。
5,当AM启动起来后,ResourceManager回应给AM集群的最小与最大资源等信息。这时AM必须决定如何使用那么当前可用的资源。YARN不像那些请求固定资源的scheduler,它能够根据集群的当前状态动态调整。

6,AM根据从RM那里得知的可使用的资源,它会请求一些一定数目的container。This request can be very specific,including containers with multiples of the resource minimum values (e.g., extra memory)。

7,ResourceManager将会根据调度策略,尽可能的满足AM申请的container。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43637653/article/details/83926411
今日推荐