HDFS HA之NameNode状态管理切换
在开启HDFS HA之后,用命令查询、管理NameNode节点的状态,
环境:我这是CDH5.13集群;
1、先看namenode的id,在hdfs的配置文件里(配置文件位置视自己的而定):
[root@d21104u34-61-91 ~]# grep -A 2 -i "ha.namenodes" /etc/hadoop/conf/hdfs-site.xmldfs.ha.namenodes.nameservice-91cs namenode36,namenode108
2、查看两个nn的状态
[root@d21104u34-61-91 ~]# hdfs haadmin -getServiceState namenode36 active [root@d21104u34-61-91 ~]# hdfs haadmin -getServiceState namenode108 standby
3、手动切换namenode的状态
适用于当主nemenode节点硬件损坏,需要停机修复时,先手动将状态转移;
如果有必要,操作之前可以先让HDFS进入安全模式,nn状态切换完成后,再离开安全模式;
将 namenode108 切换为 active 状态的三种方法(namenode108此时为standby):
# 将 active 状态从 namenode36 节点切换到 namenode108 上 (1)$ hdfs haadmin -failover namenode36 namenode108 # 将 namenode36 过渡到 Standby; (2)$ hdfs haadmin -transitionToStandby --forcemanual namenode36 # 将 namenode108 过渡到 Active; (3)$ hdfs haadmin -transitionToActive --forceactive namenode108
第一种方式演示,命令执行后可见状态已经切换了(我这里没有进入安全模式):
也可以去CM页面中查看情况;
关于安全模式的命令:
hadoop dfsadmin -safemode leave NameNode退出安全模式 hadoop dfsadmin -safemode enter 进入安全模式 hadoop dfsadmin -safemode get 查看安全模式状态 hadoop dfsadmin -safemode wait 等待一直到安全模式结束