启动Hadoop时,DataNode启动后一会儿自动消失的解决方法

转:http://www.linuxidc.com/Linux/2014-11/108822.htm
http://blog.163.com/dxy1016@126/blog/static/12233258120165229031614/
查看datanode节点的$HADOOP_HOME/logs/hadoop-xxxx-datanode-xxxx.hadoop.log,发现
java.io.IOException: Incompatible clusterIDs in /home/hadoop/cloud/hadoop-2.7.3/tmp/dfs/data: namenode clusterID = CID-faa1bd0a-194e-43e5-99f8-92a0043aace2; datanode clusterID = CID-d0137514-2400-4afd-973f-57366b894a32

从日志中可以看出,原因是因为datanode的clusterID 和 namenode的clusterID 不匹配


解决思路:

查看hdfs-site.xml有没有配置项

<property>  
                <name>dfs.data.dir</name>  
                <value>/data/hdfs/data</value>
 </property>
有则 说明你的datanode配置文件不再默认路径,而是你自己设置过的路径下。

没有 

默认路径是/usr/local/hadoop/tmp/dfs/data/current/VERSION。

如果core-site.xml配置了

    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/cloud/hadoop-2.7.3/tmp</value>
    </property>
可能在{hadoop.tmp.dir}/dfs/data/current目录下

由于版本不同,可能路径也不同,最好自己去找找。


方案一:删除datanode节点current目录下的文件

这样重启datanode的时候会重新去生成文件

引起这个问题,可能是重启namenode或者format namenode的时候,datanode是死的。所以引起datanode和namenode上面的数据不一致。

方案二:修改datanode上这个版本信息文件VERSION

storageID=DS-389d57fb-798e-46d5-bb36-9144c9702b30
clusterID=CID-d0137514-2400-4afd-973f-57366b894
cTime=0
datanodeUuid=770afcf7-15a0-4eb3-831a-c4ef4e70dda9
storageType=DATA_NODE
layoutVersion=-56
直接修改clusterID=CID-d0137514-2400-4afd-973f-57366b894为日志显示namenode clusterID,tmp/dfs/data: namenode clusterID = CID-faa1bd0a-194e-43e5-99f8-92a0043aace2; 

修改后:

clusterID=CID-d0137514-2400-4afd-973f-57366b894a32
重启,发现datanode不崩了

方案三:直接重新格式化hdfs:

namenode(active)节点上停止HDFS:sbin/stop-dfs.sh 

删除namenode(active和standby)节点{hadoop.tmp.dir}的目录

删除datanode节点上{hadoop.tmp.dir}/dfs/data/current目录

执行格式化hdfs:hadoop namenode -format(集群先要启动zookeeper和journal node节点

并把{hadoop.tmp.dir} 文件夹拷贝到另一台namenode的目录下

scp -r /home/hadoop/cloud/hadoop-2.7.3/tmp hadoop05:/home/hadoop/cloud/hadoop-2.7.3/
重新启动
./sbin/start-dfs.sh




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值