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

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

图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中的应用程序管理器会将其重新启动,直到所有任务执行完毕。
猜你喜欢:
毕业16个工作日,平均薪资13180元,就业率100%,广州黑马AI智能应用开发(Java)学科20250529班
2026-03-06毕业32个工作日,平均薪资11147元,就业率95%,广州黑马AI智能应用开发(Java)学科20250326班
2026-03-05黑马程序员2025全国就业数据发布:全学科平均就业率92.07%,AI开发类就业平均薪资达11869.67元。
2026-03-05黑马全国校区齐开班!场面太太太壮观了!
2026-03-03AI智能应用开发课程紧贴企业刚需,全程高效学习,直达中高级软件开发水平
2026-02-28风口正劲!黑马程序员又一AI智能应用开发班毕业当天100%就业!
2026-02-27