当前位置:   article > 正文

Hadoop HA——hdfs haadmin 详解_warn ha.haadmin: proceeding with manual ha state m

warn ha.haadmin: proceeding with manual ha state management even though auto
  • NameNode切换

 

Hadoop版本:hadoop-2.6.0-CDH5.5.4

 

namenode切换需要用到hdfs haadmin 命令,该命令有如下方法:

 

hdfs haadmin -transitionToActive <serviceId> 将<serviceId>namenode过渡到active状态

当前状态: nn1:standby nn2:active

执行hdfs haadmin -transitionToActive -forcemanual nn1 将nn1过渡为Active状态,

报出以下信息,提示nn2已经为active状态

19/01/11 11:31:01 WARN ha.HAAdmin: Proceeding with manual HA state management even though

automatic failover is enabled for NameNode at e3base04/192.168.1.131:12001

transitionToActive: Node nn2 is already active

Usage: HAAdmin [-transitionToActive <serviceId> [--forceactive]]

再次查看两个namenode状态,两个namenode节点状态并没有变化。

 

执行hdfs haadmin -transitionToActive -forcemanual nn2 将nn2过渡为Active状态,

报出以下信息:

19/01/11 11:44:04 WARN ha.HAAdmin: Proceeding with manual HA state management even though

automatic failover is enabled for NameNode at e3base03/192.168.1.130:12001

19/01/11 11:44:05 WARN ha.HAAdmin: Proceeding with manual HA state management even though

automatic failover is enabled for NameNode at e3base04/192.168.1.131:12001

没有明显报错,再次查看两个namenode状态,两个namenode节点状态并没有变化。

 

综合以上情况:当active节点正常时,使用hdfs haadmin -transitionToActive命令对两个namenode节点切换都不起作用.

 

 

hdfs haadmin -transitionToStandby <serviceId>

将<serviceId>namenode过渡到standby状态

当前状态: nn1:standby nn2:active

 

执行hdfs haadmin -transitionToStandby -forcemanual nn1 将nn1过渡到standby状态:

报出以下信息:

19/01/11 13:56:18 WARN ha.HAAdmin: Proceeding with manual HA state management even though

automatic failover is enabled for NameNode at e3base03/192.168.1.130:12001

两个namenode状态并没有变化:

 

执行hdfs haadmin -transitionToStandby -forcemanual nn2 将nn2过渡到standby状态:

报出以下信息:

19/01/11 14:07:59 WARN ha.HAAdmin: Proceeding with manual HA state management even though

automatic failover is enabled for NameNode at e3base04/192.168.1.131:12001

两个namenode状态发生变化:

 

综合以上情况:当active节点正常时,执行hdfs haadmin -transitionToStandby命令可以将active的namenode节点转换成standby状态。

 

hdfs haadmin [-failover [--forcefence] [--forceactive] <serviceId> <serviceId>]

在两个namenode节点之间进行故障转移,例:

当前namenode状态: nn1:active nn2:standby

hdfs haadmin -failover -forcefence -forceactive nn1 nn2,表示将nn2设置成active状态。

报出以下信息:

[e3base@e3base03 e3base]$ hdfs haadmin -failover -forcefence -forceactive nn1 nn2

forcefence and forceactive flags not supported with auto-failover enabled.

这句话表示,配置了自动切换之后,就不能进行手动切换了,故此次切换失败。

dfs.ha.automatic-failover.enabled参数需要在hdfs-site.xml或者core-site.xml中添加。

将nn1和nn2调换,执行hdfs haadmin -failover -forcefence -forceactive nn2 nn1,

以及强制手动执行:hdfs haadmin -failover -forcefence -forceactive -forcemanual nn1 nn2

也是同样的结果。

 

将2台namenode节点中的hdfs-site.xml中的dfs.ha.automatic-failover.enabled参数值改为false后(不需要重启namenode进程),再次执行hdfs haadmin -failover -forcefence -forceactive nn1 nn2,

从日志中可以看到在进行故障转移时,采用了第一个故障转移方法:ssh方法,该方法原理是ssh到出现故障的主机,并将namenode进程kill掉。(第二个为shell方法:运行任何的shell命令去过滤active状态的namenode)

 

综上:hdfs haadmin [-failover [--forcefence] [--forceactive] <serviceId> <serviceId>]命令在配置故障自动切换(dfs.ha.automatic-failover.enabled=true)之后,无法手动进行。可将该参数更改为false(不需要重启进程)后,重新执行该命令即可。

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/394525
推荐阅读
相关标签
  

闽ICP备14008679号