登录    关于
马育民老师的博客

马育民的博客

QQ:65242847

hadoop3.x yarn工作流程

说明

yarn已经成为 通用的 资源管理任务调度 平台,不止可以运行 MapReduce,还可以运行 spark、flink等其他程序

官网:
https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/YARN.html

步骤

步骤1, 用户向 Yarn 提交应用程序,其中包括用户程序、相关文件、启动ApplicationMaster命令、ApplicationMaster程序等。

步骤2, ResourceManager 为该应用程序分配第一个Container,并且与 Container 所在的 NodeManager 通信,并且要求该 NodeManager 在这个 Container 中启动应用程序对应的 ApplicationMaster

步骤3, ApplicationMaster 首先会向 ResourceManager 注册,这样用户才可以直接通过 ResourceManager 查看到应用程序的运行状态,然后它为准备为该应用程序的各个任务申请资源,并监控它们的运行状态直到运行结束,即重复后面 4~7 步骤。

步骤4, ApplicationMaster 采用轮询的方式通过RPC协议向ResourceManager 申请和领取资源。

步骤5,一旦 ApplicationMaster 申请到资源后,便会与申请到的 Container 所对应的 NodeManager 进行通信,并且要求它在该 Container 中启动任务。

步骤6,任务启动。NodeManager 为要启动的任务配置好运行环境,包括环境变量、JAR包、二进制程序等,并且将启动命令写在一个脚本里,通过该脚本运行任务。

步骤7,各个任务通过RPC协议向其对应的 ApplicationMaster 汇报自己的运行状态和进度,以让 ApplicationMaster 随时掌握各个任务的运行状态,从而可以再任务运行失败时重启任务。

步骤8, 应用程序运行完毕后,其对应的 ApplicationMaster 会向 ResourceManager 通信,要求注销和关闭自己。

感谢:
https://www.cnblogs.com/itboys/p/9184381.html


原文出处:https://malaoshi.top/show_1IX2EWMFEPjo.html