http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-memory-cpu-scheduling/
http://dongxicheng.org/mapreduce-nextgen/yarnmrv2-resource-manager-resource-manager/
在YARN中,资源调度器(ResourceScheduler)是一个非常核心的部件,它负责将各个节点上的资源封装成container(资源描述,java对象),并按照一定的约束条件(通过资源调度器)分配给各个applicationmaster。
YARN的资源管理器实际上是一个事件处理器,它需要处理来自外部的6种SchedulerEvent类型的事件,并根据事件的具体含义进行相应的处理。这6种事件含义如下:
NODE_REMOVED
- 事件NODE_REMOVED表示集群中被移除一个计算节点(可能是节点故障或者管理员主动移除),资源调度器收到该事件时需要从可分配资源总量中移除相应的资源量。
NODE_ADDED
- 事件NODE_ADDED表示集群中增加了一个计算节点,资源调度器收到该事件时需要将新增的资源量添加到可分配资源总量中。
APPLICATION_ADDED
- 事件APPLICATION_ADDED 表示ResourceManager收到一