YARN 资源调度框架 YET Another Resource Negotiator

20,174 阅读2分钟

YARN: YET Another Resource Negotiator 通用的资源管理系统 为上层提供统一的管理和调度

1.png

资源调度框架 YARN

单点故障,节点压力大不易扩展

image.png

资源利用率低 运维成本

image.png

Hadoop1.x时, MapReduce: Master / Slace 架构,1个JobTracker 带多个 TaskTracker

JobTracker : 负责资源管理 和 作业调度

TaskTracker: 定期向JT汇报本届点的健康状况,资源使用状况,作业执行情况;接收来自JT的命令: 启动任务/杀死任务

YARN:不同计算框架可以共享同一个HDFS 集群上的数据,享受整体的资源调度

XXX on YARN的好处: 与其他计算框架共享集群资源,按资源需要分配,进而提高集群资源的利用率

XXX: spark / MapReduce / Storm / Flink

image.png

YARN: YET Another Resource Negotiator 通用的资源管理系统 为上层提供统一的管理和调度

image.png

YARN架构: 1)ResourceManager:RM 整个集群同一个时间提供服务的RM只有一个 ,负责集群资源的统一管理和调度,处理客户端的请求,提交一个作业,杀死一个作业;监控我们的NM,一旦某个NM挂了,那么该NM上运行的任务需要告诉我们的AM

2)NodeManager: NM 整个集群中有多个,负责自己本身节点资源管理和使用;定时向RM汇报本节点的资源使用情况;接收并且处理来自RM的各种命令:启动Container

3>ApplicationMaster: AM 每个应用程序对应一个:MR,Spark,负责应用程序的管理,为应用程序向RM申请资源(core memory);分配给内部task;需要与NM通信,启动/停止 task,task是运行在container里面,AM也是运行在container

4>Container 封装了CPU Memory 等资源的一个容器,是一个任务运行环境的抽象

5>Client 提交作业

image.png