hdfs在命令行如何实现namenode主从切换

  使用配置
内容纲要

概要描述


HDFS采用namenode HA方案保证hdfs的高可靠,始终有一个 namenode 做热备,防止单点故障问题。HDFS重启或因其他原因,namenode可能发生主备切换,但有外部应用程序访问 HDFS 是通过 IP 地址指定访问的,如果namenode发生了切换可能导致外部程序访问 hdfs 失败,该场景下,需要手动切换namenode。本案例提供一种手动切换 active namenode 的方法。

详细说明


确认namenode所在节点

在manager页面查看namenode所在节点,由下图可知,mll01、mll02是两个namenode所在节点。
附录:也可以在后台执行 hdfs getconf -namenodes 查看 namenode 所在节点

file

查看当前namenode主从情况

注意: 以下命令必须要HDFS的超级用户hdfs才能执行,执行如下切换到 hdfs 用户;

$ export HADOOP_USER_NAME=hdfs

命令行查看namenode主从情况,由下图可知,mll01是active节点,mll02是standby节点

hdfs haadmin -getServiceState mll01
hdfs haadmin -getServiceState mll02

file

手动切换namenode

  1. 需要将 mll02 切换为 active 状态的三种方法
# 将 active 状态从 mll01 节点故障切换到 mll02 上
$ hdfs haadmin -failover mll01 mll02

# 将 mll01 过渡到 Standby;
$ hdfs haadmin -transitionToStandby --forcemanual mll01

# 将 mll02 过渡到 Active;
$ hdfs haadmin -transitionToActive --forceactive mll02

file

  1. 再次查看namenode主从状态,发现mll02已经变成了active状态

file

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。