在学习 HA 自动化配置,按照hadoop官网进行配置,最后所有的节点都启动正常
但我们在进行故障测试 kill 掉Active状态的NameNode后,其他Standby状态的NameNode无法转换成Active状态
我们知道Standby状态节点中zookepper客户端的zkfc进程一直在监视这Active状态下的节点,而一旦后者出现故障,且后者中的zkfc进程断开了与zookepper服务端的session,此时Standby状态节点中的zkfc进程就会去抢占zookepper服务端,并且会通过ssh杀死故障节点中的NameNode
下图是web中的日志包的错误 —— ConnectionRefuse,我们要首先想到是不是ssh免密配置的问题,是否配置了Standby状态节点免密登录到Active状态节点,如诺不是,请看后面的解决方案
虽然如下图我们在hdfs-site.xml 中已经配置过相关配置,但是因为没有 fuster 程序,导致无法进行 fence
解决方法:在每个机器上安装包含fuster程序的软件包Psmisc
xcall yum -y install psmisc