YARN架构和执行流程

YARN架构和执行流程

架构图及说明

1547000107914.png

一个YARN包含一个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执行流程

[图片上传失败...(image-a1eec6-1547445756047)]

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架构和执行流程)