YARN资源和作业调度详解

YARN 资源和作业调度详解

一、流程图在这里插入图片描述

二、模块说明

Client
客户端(用户);

ResourceManager
负责协调和管理整个集群(所有 NodeManager)的资源。为每一个 ApplicationManager 启动一个 MRApplicationMaster
主程序(MRApplicationMaster 分散在各个 NodeManager 节点);

Yarn Scheduler
Yarn资源调度器,主要有三种:FIFO,Capacity,Fair,三者区别

NodeManager
执行应用程序, 监控应用程序的资源使用情况(CPU,内存,硬盘,网络),通过心跳机制向 ResourceManager 汇报更新健康状态。同时监控每个 Container 的资源使用(内存、CPU 等)情况,节点健康状况;

MRTask
MapReduce 任务作业;

MRApplicationMaster
用户主程序,负责向资源调度器申请容器和资源以运行任务;

Container:包装应用程序和资源的抽象逻辑单位。

三、流程详解

1、客户端(用户)向 YARN 中提交应用程序,其中包括 MRApplicationMaster 主程序,启动 MRApplicationMaster 的命令, 用户程序等。

2、ResourceManager 为主程序分配一个 Container 容器,并与Container所在的 NodeManager 进行RPC通讯,要求它在这个 Container 中启动应用主程序 MRApplicationMaster。

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

4、ResourceManager 返回资源列表给 MRApplicationMaster ,随即MRApplicationMaster 与对应的 NodeManager 进行通讯,要求它在自己的容器中启动 MRTask 和 MRApplicationMaster。

5、NodeManager 分解任务并调度任务。

6、各任务通过 RPC 协议向 MRApplicationMaster 汇报自己的状态和进度,以让 MRApplicationMaster 掌握各个任务的运行状态。

7、应用程序运行完成后,MRApplicationMaster 向 ResourceManager 注销并关闭自己。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangfeidianzi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值