Yarn是Hadoop2中为了缓解MapRedurce工作压力,让其专心与数据的分析而添加的新模块,负责任务的调度和资源的管理,其工作流程如下图:
Resource Manager:(总管)
处理客户请求;
启动/监控Application Master;
监控Node Manager;
资源分配与调度;
Node Manager:(每个节点,即机器的管理员)
单个节点上的资源管理;
处理来自Resource Manager和Application Master的命令;
Application Master:(对任务管理)
数据切分;
为应用程序申请资源并配合分配给内部任务;
任务监管与容错;
Container:(环境,容器)
对任务运行环境的抽象,封装了CPU内存等多维资源以及环境变量,启动命令等任务运行相关信息;
对照图中的步骤:
- 用户向Yarn中提交应用程序,也就是一系列需要完成的任务,其中包括Application Master(对这个任务负责)程序,启动Application Master的命令,用户程序等;
- Resource Manager为该应用程序分配一个Container(目前还没有分配其中的内容)并与对应的Node Manager通信,要求它在这个Container中启动应用程序的Application Master;
- Application Master首先向Resource Manager注册,这样用户可以直接通过Resource Manager查看应用程序运行的状态;然后它将为各个任务申请资源,并监控它的运行状态,直到结束,即重复4~7,需要注意的是,这里因为Applicati

YARN作为Hadoop2的资源管理和调度器,负责任务分配与资源管理。Resource Manager接收用户请求,启动Application Master,并监控Node Manager。Node Manager管理单节点资源,Application Master负责任务切分、资源申请及任务监控。Container是任务运行环境的抽象,包含资源和环境信息。应用提交后,Resource Manager分配Container启动Application Master,后者向ResourceManager注册并申请资源。ResourceManager调度资源,Application Master领取并通知Node Manager启动任务。任务在Node Manager上运行,向Application Master报告进度,完成后Application Master注销并关闭。
最低0.47元/天 解锁文章
1545

被折叠的 条评论
为什么被折叠?



