hadoop reformat

hadoop reformat


问题

ha集群


在hbase运维过程中,遇到这个问题:

2014-03-10 16:48:05,306 FATAL org.apache.hadoop.hdfs.server.namenode.NameNode: Exception in namenode join
java.io.IOException: There appears to be a gap in the edit log.  We expected txid 35976735, but got txid 35976803.
        at org.apache.hadoop.hdfs.server.namenode.MetaRecoveryContext.editLogLoaderPrompt(MetaRecoveryContext.java:94)


原因:

集群运行时,加入新机器,这时对hdfs-site.xml中的namenode进行了namenode -format操作,导致问题(clusterid expected 和seen 不符,txid expected 和seen 不符)。加入新机器时要额外小心配置。布置一个新集群时如果拷贝这个集群的配置,也一定要将namenode等设置配置好,否则等同于重新 namenode format运行中的集群。


解决:

1.停止namenode,停止journalnode

2.将active nn的current目录和journal下的current目录拷贝到 standby nn的对应目录下 (注意权限)

3.启动nn1,nn2


ha的namenode启动步骤,参照:

在namenode机器上启动namenode

(这里假定namenode1为active,namenode2为standby)
a.
如果是首次启动,在namenode1上运行format命令

bin/hadoop namenode -format

如果是非首次启动,则在namenode1上运行以下命令

bin/hdfs namenode  -initializeSharedEdits

如果有是否ReFormat,选择 Y

b.
然后在namenode1上启动namenode

sbin/hadoop-daemon.sh start namenode

c.
在namenode2上运行以下命令

sbin/hadoop-daemon.sh start  namenode -bootstrapStandby

d.
如果namenode2上有namenode,kill掉再启动。

然后在namenode2上启动namenode

sbin/hadoop-daemon.sh start namenode

这时,namenode1和namenode2都启动了,都是“standby”状态
e.

查看namenode的状态

bin/hdfs haadmin -getServiceState nn1
bin/hdfs haadmin -getServiceState nn2

如果都是standby,说明成功

在namenode1上运行
bin/hdfs haadmin -transitionToActive nn1

这样,namenode1的状态就变成“active”



感谢白杨夫的指导http://my.csdn.net/baiyangfu



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值