解决更改hadoop核心配置文件后会出现DataNode,或者NameNode无法启动的问题

更改了core-site.xml文件内容后。。。重启发现DataNode无法启动:

之后百度了一下网上说的一般都是这两种方法:1.将datanode与namenode的/current 下VERSION等相应文件文件清除;

2.查看DataNode的log文件说是因为DataNode与NameNode的namespaceid不一样所导致,将version里的id··    改成一样的即可!

我先试了第二种方法发现DataNode里不存在namespaceid,还以为是DataNode里的namespaceid缺少,之后对照NameNode里的id,复制到了   DataNode的version里。 重启hadoop 发现无用,又重新格式化还是没有用。。。这时去看日志,发现日志报错为org.apache.hadoop.hdfs.server.common.Storage: java.io.IOException: Incompatible clusterIDs in /usr/software/hadoop-2.6.0-cdh5.7.1/src/dfs/data: namenode clusterID = CID-60612a30-5886-4222-bc97-ece8e3d5b9d6; datanode clusterID = CID-14425489-e594-4458-8633-aa5ac7880299,找到问题的原因是clusterID不同的问题,将DataNode的clusterID改成与DataNode的clusterID一致,重启之后,发现DataNode成功启动!

然后,我发现NameNode没启动。。。

索性又尝试第一种方法将所有文件删除后,start-all.sh然而NameNode依旧不显示,这时候去看log发现日志报错:

 There appears to be a gap in the edit log.  We expected txid 1, but got txid 58.(感觉应该是删version导致的)

原因:namenode元数据被破坏,需要修复
解决:恢复一下namenode
Hadoop namenode -recover
一路选择c,一般就OK了

重启之后。。。大功告成!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值