内网安装的CentOS7系统最小安装默认不会安装psmisc(fuser等命令的rpm包),导致测试namenode高可用时kill掉namenode active后namenode standby不会自主切换为namenode active。
查看$hadoop_home/logs/zkfc的日志里面,发现有一个warn:
org.apache.hadoop.ha.SshFenceByTcpPort:PATH=$PATH:/sbin:/usr/sbin fuser -v -k -n tcp 54310 via ssh: bash: fuser: 未找到命令
导致无法fence,执行yum install psmisc -y即可。再次测试高可用,standby自主切换为active