首页 理论教育 深入了解YARN的工作流程

深入了解YARN的工作流程

时间:2023-06-24 理论教育 版权反馈
【摘要】:图6.4YARN 作业流程图YARN 的作业执行流程如下:①用户Client 向YARN 中提交应用程序,并为其分配一个新的应用ID,该应用包括ApplicationMaster 程序、启动ApplicationMaster 的命令、用户程序等,将这个应用提交给应用管理器。②ResourceManager 为该应用程序分配第一个Container,并与对应的NodeManager 通信,要求它在这个Container 中启动应用程序的ApplicationMaster。⑧应用程序运行完成后,ApplicationMaster 向ResourceManager 注销并关闭自己。

深入了解YARN的工作流程

上述已经介绍了YARN 的基本组成部分,下面我们将对YARN 的作业执行流程进行基本的解释,如图6.4 所示。

图6.4 YARN 作业流程图

YARN 的作业执行流程如下:

①用户Client 向YARN 中提交应用程序,并为其分配一个新的应用ID,该应用包括ApplicationMaster 程序、启动ApplicationMaster 的命令、用户程序等,将这个应用提交给应用管理器(ApplicationManager)。

②ResourceManager 为该应用程序分配第一个Container,并与对应的NodeManager 通信,要求它在这个Container 中启动应用程序的ApplicationMaster。(www.xing528.com)

③ApplicationMaster 首先向ResourceManager 注册,这样用户可以直接通过ResourceManager 查看应用程序的运行状态,然后它将为各个任务申请资源,执行应用主体并监控它的运行状态,直到运行结束。

④ApplicationMaster 通过RPC 协议不断计算所需资源并向ResourceManager 申请和领取资源。

⑤一旦ApplicationMaster 申请到资源后,应用主体与对应的NodeManager 进行通信,要求它启动任务。

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

⑦各个任务通过某个RPC 协议向ApplicationMaster 汇报自己的状态和进度,以让ApplicationMaster 随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。在应用程序运行过程中,用户可随时通过RPC 向ApplicationMaster 查询应用程序的当前运行状态。

⑧应用程序运行完成后,ApplicationMaster 向ResourceManager 注销并关闭自己。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈