分享

hadoop HA 手动切换问题

bigye 发表于 2015-5-28 10:55:18 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 57156
【背景】
   有2个namenode,一个Active状态,一个standby状态,在没有配置zookeeper的情况下,处于Active状态的namenode挂掉时用什么命令手动将处于     standby状态的namenode切换为Active?

【操作】
我在处于standby状态的namenode节点上执行hdfs haadmin -transitionToActive nn2 命令,发现切换不了,报错如下:


hadoop@suse02:~>hdfs haadmin -transitionToActive nn2
INFO ipc.Client:Retring connect to server :suse01/172.20.32.41:8020. Already tried 0 time(s);retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=1,sleepTime=1000 MILLISECONDS)
Unexpected error occurred Call From suse02/172.20.32.42 to suse01:8020 failed on connection exception:
java.net.ConnectException:Connection refused;For more details see:http://wiki.apache.org/hadoop/ConnectionRefused
Usage:HAAdmin [-transitionToActive <serviceId> [--forceactive]]
【分析】
执行hdfs haadmin -transitionToActive nn2 命令时会与nn1(ActiveNN)通信(具体内部原理不详,只是个人猜测),因为在nn1(ActiveNN)上namenode进程都已经挂掉了,所以会报以上Connection错误。
当用hdfs haadmin -failover --forcefence --forceactive nn1 nn2这个命令进行切换时,即可成功(查看nn2状态,已经变成Active了)。
【问题】
在以上背景情况下,当处于Active状态的namenode挂掉时用什么命令手动将处于standby状态的namenode切换为Active?



已有(2)人评论

跳转到指定楼层
s060403072 发表于 2015-5-28 19:00:45
hdfs haadmin -transitionToActive nn2 这个命令没有讲过,可能是在nn1激活状态下才能使用。
手工切换都是使用这个命令:
[mw_shl_code=bash,true]$HADOOP_HOME/bin/hdfs  haadmin -failover --forcefence --forceactive  nn2  nn1[/mw_shl_code]
原理楼主看下shell的内容
回复

使用道具 举报

bigye 发表于 2015-5-28 21:20:48
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条