ResourceManager High Availability

1.概述

ResourceManager(RM)负责跟踪集群和应用中的资源调度,在Hadoop2.4版本以前,RM会在YARN集群中发生单点故障,High Availability(HA)特性增加了 Active/Standby RM对来避免单点故障。

2.架构

ResourceManager High Availability

(1)RM Failover(RM失效备援)

RM HA通过Active/Standby架构实现,在任何时刻,一个RM处于Active状态,另一个处于Standby状态,

以防止Active状态的RM节点出现问题。可以通过管理员或者失效备援控制器触发RM状态的切换。

a.手动切换

当自动失效备援没有被启用,管理员就需要通过命令行手动将其中一个RM转为Active状态,首先将Active

的RM转为Standby的RM,再将Standby的RM转为Active。

b.自动失效备援

RM有一个选项,能够嵌入基于Zookeeper的ActiveStandbyElector来判断哪一个RM应该是Active的,当一

个Active挂掉或者无应答,另一个RM会自动成为Active状态。与此同时,我们并不需要去运行一个AKFC daemon,

因为ActiveStandbyElector已经被嵌入到RM中作为故障检测。

c.RM失效备援上的Client,ApplicationMaster 和 NodeManager

当存在多个RM时,client和节点的配置文件(yarn-site.xml)要列出所有的RM。client,AM,NM会循环寻找

连接Active的RM,直到连接成功,如果这个Active停止,那么它们会重复这个过程直到连接一个新的Active的RM。