Hadoop集群资源调度YARN

YARN架构

1 RM(ResourceManager) + N NM(NodeManager)

ResourceManager的职责

一个集群active状态的RM只有一个,负责整个集群的资源管理和调度

1)处理客户端的请求(启动/杀死)

2)启动/监控ApplicationMaster(一个作业对应一个AM)

3)监控NM

4)系统的资源分配和调度

NodeManager的职责

整个集群中有N个,负责单个节点的资源管理和使用以及task的运行情况

1)定期向RM汇报本节点的资源使用请求和各个Container的运行状态

2)接收并处理RM的container启停的各种命令

3)单个节点的资源管理和任务管理

ApplicationMaster的职责

每个应用/作业对应一个,负责应用程序的管理

1)数据切分

2)为应用程序向RM申请资源(container),并分配给内部任务

3)与NM通信以启停task, task是运行在container中的

4)task的监控和容错

Container的职责

对任务运行情况的描述:cpu、memory、环境变量

YARN执行流程

1)用户向YARN提交作业

2)RM为该作业分配第一个container(AM)

3)RM会与对应的NM通信,要求NM在这个container上启动应用程序的AM

4) AM首先向RM注册,然后AM将为各个任务申请资源,并监控运行情况

5)AM采用轮训的方式通过RPC协议向RM申请和领取资源

6)AM申请到资源以后,便和相应的NM通信,要求NM启动任务

7)NM启动我们作业对应的task

YARN环境搭建

mapred-site.xml中设置mapreduce.framework.name为yarn

yarn-site.xml中设置yarn.nodemanager.aux-services为mapreduce_shuffle

yarn的启动与停止

开启yarn:sbin/start-yarn.sh

通过jps命令,验证是否启动成功,出现ResourceManager、NodeManager表示成功

web: http://hadoop001:8088

停止yarn:sbin/stop-yarn.sh

你可能感兴趣的:(Hadoop集群资源调度YARN)