• NN 名称定义于 hdfs-site.xml 中
1
grep dfs.ha.namenodes.hdcluster ${HADOOP}/etc/hadoop/hdfs-site.xml

查询 NN 节点

1
hdfs getconf -namenodes

查询 NN 状态

1
2
hdfs haadmin -getServiceState namenode1
hdfs haadmin -getServiceState namenode2

手动切换

1
hdfs haadmin -failover -forcefence -forceactive namenode2 namenode1

or

1
hdfs haadmin -transitionToActive namenode2

HA 集群手动切换

存在脑裂的可能性, 推荐在目前 Active 的 Namenode 上执行

  • 执行前确认 fsimage 以及 edits 文件数量及大小
  • 执行后同时监听 zkfc 以及 所有 NN 的日志, 确保正常切换