HDFS HA之NameNode状态管理切换

Posted 扫地增

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDFS HA之NameNode状态管理切换相关的知识,希望对你有一定的参考价值。

在开启HDFS HA之后,用命令查询、管理NameNode节点的状态,

1、先看namenode的id,在hdfs的配置文件里(配置文件位置视自己的而定):

[root@xx.xx.xx.xx ~]$ grep -A 2 -i "ha.namenodes" /opt/module/hadoop-3.1.3/etc/hadoop/hdfs-site.xml
        <name>dfs.ha.namenodes.xpcCluster</name>
        <value>namenode01,namenode02</value>
    </property>

2、查看两个nn的状态

[root@xx.xx.xx.xx ~]$ hdfs haadmin -getServiceState namenode01
active

[root@xx.xx.xx.xx ~]$ hdfs haadmin -getServiceState namenode02
standby

3、手动切换namenode的状态

适用于当主nemenode节点硬件损坏,需要停机修复时,先手动将状态转移;

如果有必要,操作之前可以先让HDFS进入安全模式,nn状态切换完成后,再离开安全模式;

将 namenode02 切换为 active 状态的三种方法(namenode02此时为standby):

# 将 active 状态从 namenode01 节点切换到 namenode02 上
[root@xx.xx.xx.xx ~]$ hdfs haadmin -failover namenode36 namenode02

# 将 namenode01 过渡到 Standby;
[root@xx.xx.xx.xx ~]$ hdfs haadmin -transitionToStandby --forcemanual namenode01

# 将 namenode02 过渡到 Active;
[root@xx.xx.xx.xx ~]$ hdfs haadmin -transitionToActive --forceactive namenode02

第一种方式演示,命令执行后可见状态已经切换了(我这里没有进入安全模式):

拓展:关于安全模式的命令

hadoop dfsadmin -safemode leave   #NameNode退出安全模式
hadoop dfsadmin -safemode enter   #进入安全模式
hadoop dfsadmin -safemode get     #查看安全模式状态
hadoop dfsadmin -safemode wait    #等待一直到安全模式结束

原理参考:

HDFS ZKFC自动切换原理分析

以上是关于HDFS HA之NameNode状态管理切换的主要内容,如果未能解决你的问题,请参考以下文章

HDFS HA之NameNode状态管理切换

HDFS 和 YARN 的 HA 故障切换

HA模式手动切换namenode状态

Hadoop (HDFS) HA架构通信机制

Hadoop组件之-HDFS(HA实现细节)

hadoop之 Hadoop 2.x HA Federation