当前位置:   article > 正文

MapReduce ON YARN工作流程_yarn mapreduce任务资源申请

yarn mapreduce任务资源申请

YARN是一个统一的资源调度框架,它可以运行很多种应用程序,如MapReduce、spark、Flink等,接下来以MapReduce为例详细介绍作业在YARN中的工作流程。

MapReduce on YARN的工作流程如图:

①用户向资源管理器(ResourceManager)提交作业,作业包括MapReduce应用程序管理器(ApplicationMaster)、启动ApplicationMaster的程序和用户自己编写的MapReduce程序。用户提交的所有作业都由全局应用程序管理器(ApplicationManager)管理。

②ResourceManager为该应用程序分配第一个容器(Container),并与对应的节点管理器(NodeManager),要求它在这个Container中启动ApplicationMaster。

③ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManager查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它们的运行状态,直到任务结束,即要重复步骤④~⑦。

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

⑤一旦ApplicationMaster申请到资源,便与对应的NodeManager通信,要求启动该任务。

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

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

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

整个应用程序运行过程中,也可以通过PRC协议向REsourceManager查询应用程序当前的运行状态,在YARN的Web界面上也可以看到整个作业的运行状态。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/777902
推荐阅读
相关标签
  

闽ICP备14008679号