Hadoop 2.7.2 HA datanode 启动失败处理

刚配置的Hadoop + Zookeeper的双NameNode的HA。Active、standby都正常,journalnodes、datanodes这些都正常。

一时手痒,非要重新来一次。好了,按照原来步骤操作,zkfc没事,namenode没事,journalnodes没事,但是datanode死活就是出不来了。页面里显示“live no1de”和“dead node”都是 0 。

进datanode执行 sbin/hadoop-daemon.sh start datanode也不报错,说是写到某个out3文件,查看也没发现错误。

继续查日志,找到datanode-log,发现如下错误信息:

 org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering> (Datanode Uuid unassigned) service to test-datanode-1/10.11.22.33:9000. Exiting

在往上一点点,发现另一条线索:

Incompatible clusterIDs in /data/hadoop-2.7.2/hdfs/data: namenode clusterID = CID-db8e18c0-800f-4f1d-8573-0358a72b0484; datanode clusterID = CID-2cd17333-42ea-4354-a788-8765a154803b

clusterID不匹配造成的。

原因:

当时“再来一次”,又重新执行了格式化命令(hdfs namenode -format),这时namenode的clusterID会重新生成,而datanode的clusterID 保持不变。

所以,解决办法也很简单了,把name/current/VERSION里面的clusterID复制下来,依次替换data/current/VERSION里的clusterID,再执行:

sbin/hadoop-daemon.sh start datanode

就可以了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值