网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
master2
yarn.resourcemanager.webapp.address.rm1
master1:8088
yarn.resourcemanager.webapp.address.rm2
master2:8088
hadoop.zk.address
zk1:2181,zk2:2181,zk3:2181
从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
#使用$?获取上一个命令的返回状态,返回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
当手动的切换到ACTIVE状态时,YARN会检查当前是否有ACTIVE的RM,这样做是为了避免出现脑裂的情况。如果想要强制切换ACTIVE状态时不检查当前是否有存活的RM可以使用*-forceactive* 参数(谨慎使用此参数)。
#手动将 rm2 的状态切换到ACTIVE,且不检查RM状态
yarn rmadmin -transitionToActive -forceactive -forcemanual rm2
例:
![](https://img-blog.csdnimg.cn/20200907113353814.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dzZGMwNTIx,size_16,color_FFFFFF,t_70)
![img](https://img-blog.csdnimg.cn/img_convert/be34d71f595767b5186253c4e246dedf.png)
![img](https://img-blog.csdnimg.cn/img_convert/3d3a99d3962fe5dcb22bebb7afc81dd7.png)
![img](https://img-blog.csdnimg.cn/img_convert/fc78d6f0d7a04c20c9858f60b1892582.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**
经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**