一、背景
在Hadoop HA模式下,如果直接kill掉active namenode,standby namenode没有自动切换到active状态。
二、问题解决步骤
1. 查看hadoop安装目录下 etc/hadoop/hadoop-root-zkfc-fang16.hadoop.com.log ,关于zkfc的日志文件。发现如下问题:
由于在active状态的namenode节点,进行了kill -9 pid号,那么此时8020端口肯定是不开启的状态,那么连接肯定是失败的。
java.net.ConnectException:
Call From fang.hadoop.com/10.0.2.15 to fang16.hadoop.com:8020
failed on connection exception: java.net.ConnectException:
Connection refused
2.继续查看日志,可以看到trying method 1/1,说明程序使用配置文件配置的fence method和kill掉的active namenode尝试通信。由于已经kill掉,连线肯定失败。
135884 2018-12-03 19:11:47,484 INFO org.apache.hadoop.ha.NodeFencer: ====== Beginning Service Fencing Process...