Apache Hadoop Yarn学习(二):工作流程详解

YARN运行流程(提交任务的工作流程)

ResourceManager(RM)
ApplicationMaster (AM)
NodeManger(NM)

  • 第一步:Client 向RM提交应用程序,其中包括启动该应用的AM的必须信息(例如:AM程序、启动AM的命令、用户程序等)
  • 第二步:RM 向 NM 分配一个 Container,并在该Container中启动AM(AM是所提交的这个任务的管理者)
  • 第三步:AM 向 RM注册自己,启动成功后与RM保持心跳(这样用户可以直接通过RM查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它的运行状态,直到运行结束)
  • 第四步:AM 再次向 RM发送请求,申请资源(申请相应数目的Container),RM会返回一个结果给AM(有哪些服务器,多大的Container资源)
  • 第五步:申请成功的Container,由AM进行初始化,与对应的NM通信,要求NM启动 Container
  • 第六步:NM为任务设置好运行环境(包括环境变量,JAR包,二进制程序等)后,启动Container
  • 第七步:各个任务(Container)运行期间,通过RPC协议向AM汇报自己的状态和进度,AM以此监控任务的运行状态
  • 第八步:应用程序运行完成后,AM向RM注销并关闭自己,回收属于它的Container
  • 注:第二步已经向RM申请了Container,为什么第四步又要再次向RM申请Container?
  • 答:因为第二步申请的Container资源运行的是AM(管理者角色,只做管理层面的事情,不执行计算工作层面的事情,所以需要再次申请Container资源用来工作)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

深入理解Yarn工作流程

在这里插入图片描述

发布了74 篇原创文章 · 获赞 15 · 访问量 4348

猜你喜欢

转载自blog.csdn.net/wzc8961661/article/details/104777441