hadoop datanode起不来

错误

2017-02-13 16:09:38,948 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering> (Datanode Uuid unassigned) service to WaUatWeb02/132.37.2.76:8920 Incompatible clusterIDs in /wapp/uniiof/uatusers/wauathdp01/hadoop/dfs1/dn: namenode clusterID = CID-f536f980-1981-4185-87ed-73730c7bdfd2; datanode clusterID = CID-53af90f8-1108-45f6-9079-fb76e765399d
2017-02-13 16:09:38,949 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering> (Datanode Uuid unassigned) service to WaUatWeb01/132.37.2.75:8920. Exiting. 
java.io.IOException: Cluster IDs not matched: dn cid=CID-f536f980-1981-4185-87ed-73730c7bdfd2 but ns cid=CID-53af90f8-1108-45f6-9079-fb76e765399d; bpid=BP-737580364-132.37.2.75-1464053974305
	at org.apache.hadoop.hdfs.server.datanode.DataNode.setClusterId(DataNode.java:302)
	at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:939)
	at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:278)
	at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:220)
	at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:812)
	at java.lang.Thread.run(Thread.java:744)

datanode的clusterID 和 namenode的clusterID 不匹配。

原因

在第一次格式化dfs后,启动并使用了hadoop,后来又重新执行了格式化命令(hdfs namenode -format),这时namenode的clusterID会重新生成,而datanode的clusterID 保持不变。

解决办法

根据日志中的路径,cd /home/hadoop/tmp/dfs
能看到 data和name两个文件夹,
将name/current下的VERSION中的clusterID复制到data/current下的VERSION中,覆盖掉原来的clusterID
让两个保持一致
然后重启,启动后执行jps,查看进程
20131 SecondaryNameNode
20449 NodeManager
19776 NameNode
21123 Jps
19918 DataNode
20305 ResourceManager

注意

当我们重新格式化的时候要删除dfs.namenode.name.dir和dfs.datanode.data.dir 目录下的所有文件

如果没有删除datanode 格式化了namenode,则会引起datanode与namenode版本号不一致的错误

转载于:https://my.oschina.net/u/2000675/blog/861585

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值