网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
yarn.resourcemanager.ha.enabled
true
yarn.resourcemanager.cluster-id
cluster1
从XML配置中可以看到两个RM的ID,我们可以使用下面的命令根据该ID获取它们的状态:
#获取rm1的节点状态
yarn rmadmin -getServiceState rm1
>>active
#获取rm2的节点状态
yarn rmadmin -getServiceState rm2
>>standby
#获取所有RM节点的状态
yarn rmadmin -getAllServiceState
>>rm2 standby
>>rm1 active
使用下面的命令可以检查RM的健康情况,当出现问题时会返回0以外的状态码:
#检查RM节点健康情况
yarn rmadmin -checkHealth <serviceId>
#使用$?获取上一个命令的返回状态,返回0表示健康,否则不健康
echo $?
同样,我们也可以手动的切换这两个RM的状态:
#手动将 rm1 的状态切换到STANDBY
yarn rmadmin -transitionToStandby rm1
#手动将 rm2 的状态切换到ACTIVE
yarn rmadmin -transitionToActive rm2
当YARN的HA配置中开启了自动故障转移(yarn.resourcemanager.ha.automatic-failover.enabled)时,上面的命令不可用,此时可以加上*-forcemanual* 参数令其可用(谨慎使用此参数)。
#手动将 rm1 的状态切换到STANDBY
yarn rmadmin -transitionToStandby -forcemanual rm1
#手动将 rm2 的状态切换到ACTIVE
yarn rmadmin -transitionToActive -forcemanual rm2
![img](https://img-blog.csdnimg.cn/img_convert/d9cdfe9afdce555480d935e414378c39.png)
![img](https://img-blog.csdnimg.cn/img_convert/a28755b3f9a76e00a7bf013d49e50dad.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**