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
网友评论