资源调度框架YARN
概述
Yet Another Resource Negotiator
通用的资源管理系统。
为上层应用提供统一的资源管理和调度。
YARN:不同计算框架可以共享同一个HDFS集群上的数据,享受整体的资源调度
XXX on YARN的好处:
与其它计算框架共享集群资源,按资源需要分配,进而提高集群资源的利用率
XXX: Spark/MApReduce/Storm/Flink
YARN架构:
Client会将一个作业提交到Resource Manager,RM会到任意一个Node Manager上去启动 一个App Mastr,AM先到RM上申请资源,然后通知对应的Node Manager,启动Container来运行相应的task
1.ResourceManager: RM;
解释: 整个集群同一时间提供服务的RM只有一个 ,负责集群资源的统一管理和调度;处理客户端的请求:提交一个作业,杀死一个作业;监控我们的NM,一旦某个NM挂了,那么该NM上运行的任务需要告诉我们的AM来如何进行处理
2.NodeManager:NM;
解释:整个集群中有多个,负责自己本身节点资源管理和使用;定时向RM汇报本节点的资源使用情况;接受并处理来自RM的各种指令:例如启动Container;处理来自AM的命令;单个节点的资源管理;
3.ApplicationMaster;
每个应用程序对应一个:MR,Spark,负责应用程序的管理;为应用程序向RM申请(core,memory),分配给内存task;需要与NM通信:启动/停止task,task是运行在container 里面,AM也是运行在containe
4.Container;
封装了CPU。Memory等资源的一个容器;是一个任务运行环境的抽象。
5.Client ;
提交作业;查询作业的运行进度;杀死作业
。。。未完待续