Yarn快速系列入门(2) | Yarn的运行与工作流程
【摘要】 本篇博文,博主为大家介绍Yarn的运行流程。
目录
一. 运行流程二. 工作流程
一. 运行流程
1、client向RM提交应用程序,其中包括启动该应用的ApplicationMaster的必须信息,例如ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。2、ResourceManager启动一个c...
本篇博文,博主为大家介绍Yarn的运行流程。
一. 运行流程
- 1、client向RM提交应用程序,其中包括启动该应用的ApplicationMaster的必须信息,例如ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。
- 2、ResourceManager启动一个container用于运行ApplicationMaster。
- 3、启动中的ApplicationMaster向ResourceManager注册自己,启动成功后与RM保持心跳。
- 4、ApplicationMaster向ResourceManager发送请求,申请相应数目的container。
- 5、申请成功的container,由ApplicationMaster进行初始化。container的启动信息初始化后,AM与对应的NodeManager通信,要求NM启动container。
- 6、NM启动启动container。
- 7、container运行期间,ApplicationMaster对container进行监控。container通过RPC协议向对应的AM汇报自己的进度和状态等信息。
- 8、应用运行结束后,ApplicationMaster向ResourceManager注销自己,并允许属于它的container被收回。
二. 工作流程
- (1)MR程序提交到客户端所在的节点。
- (2)YarnRunner向ResourceManager申请一个Application。
- (3)RM将该应用程序的资源路径返回给YarnRunner。
- (4)该程序将运行所需资源提交到HDFS上。
- (5)程序资源提交完毕后,申请运行mrAppMaster。
- (6)RM将用户的请求初始化成一个Task。
- (7)其中一个NodeManager领取到Task任务。
- (8)该NodeManager创建容器Container,并产生MRAppmaster。
- (9)Container从HDFS上拷贝资源到本地。
- (10)MRAppmaster向RM 申请运行MapTask资源。
- (11)RM将运行MapTask任务分配给另外两个NodeManager,另两个NodeManager分别领取任务并创建容器。
- (12)MR向两个接收到任务的NodeManager发送程序启动脚本,这两个NodeManager分别启动MapTask,MapTask对数据分区排序。
- (13)MrAppMaster等待所有MapTask运行完毕后,向RM申请容器,运行ReduceTask。
- (14)ReduceTask向MapTask获取相应分区的数据。
- (15)程序运行完毕后,MR会向RM申请注销自己。
好了,本次关于Yarn运行流程的内容就介绍到这里。下一篇文章将为大家介绍Yarn 和MapReduce的作业提交全过程,敬请期待!
文章来源: buwenbuhuo.blog.csdn.net,作者:不温卜火,版权归原作者所有,如需转载,请联系作者。
原文链接:buwenbuhuo.blog.csdn.net/article/details/105762833
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)