首页技术文章正文

YARN的体系结构的工作流程是怎样的?

更新时间:2021-03-12 来源:黑马程序员 浏览量:

1577370495235_学IT就到黑马程序员.gif


掌握了YARN的体系结构后,接下来看一下YARN的工作流程,具体如图1所示。


1615965310792_yarn.jpg

图1 YARN工作流程

下面针对图1展示的YARN的工作过程进行介绍,具体如下:

(1)用户通过客户端Client向YARN提交应用程序Applicastion,提交的内容包含Application的必备信息,例如ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。

(2)YARN中的ResourceManager接收到客户端应用程序的请求后,ResourceManager中的调度器(Scheduler)会为应用程序分配一个容器,用于运行本次程序对应的ApplicationMaster。图6-2中的MR App Mstr表示的是MapReduce程序的ApplicationMaster。

(3)ApplicationMaster被创建后,首先向ResourceManager注册信息,这样用户可以通过ResourceManager查看应用程序的运行状态。接下来的第(4)~(7)步是应用程序的具体执行步骤。

(4)ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请资源。

(5)ResourceManager向提出申请的ApplicationMaster分配资源。一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务。

(6)NodeManager为任务设置好运行环境(包括环境变量、JAR包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务。

(7)各个任务通过某个RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。

(8)应用运行结束后,ApplicationMaster向ResourceManager注销自己,并关闭自己。如果ApplicationMaster因为发生故障导致任务失败,那么ResourceManager中的应用程序管理器会将其重新启动,直到所有任务执行完毕。





猜你喜欢:

RDD数据丢失后如何恢复?RDD容错机制介绍

Scala的方法和函数讲解【黑马程序员】

YARN资源管理框架的体系结构【大数据文章】

黑马程序员大数据开发培训

分享到:
在线咨询 我要报名
和我们在线交谈!