hadoop格式化namenode后导致datanode无法启动
首先贴报错哈,错误不一样,就不用往下看了。。。
报错截图
错误分析
Failed to add storage directory [DISK]file:/Users/zhangchenguang/software/hadoop-2.7.3/tmp/dfs/data/
java.io.IOException: Incompatible clusterIDs in /Users/zhangchenguang/software/hadoop-2.7.3/tmp/dfs/data: namenode clusterID = CID-261e3f9d-ce60-4046-b75b-bf8a65aac2fb; datanode clusterID = CID-e1798165-8cf4-42c3-98fc-e0fcb5faf152
重点是clusterIDs 不一致,谁的呢? namenode和datanode的
然后去网上搜,发现网上说格式化namenode和datanode,亲测不行。
hdfs namenode -format
hdfs datanode -format
然后我记得貌似有种方法可以改clusterID的,但是我忘记了...
解决方案
操作下面步骤前,最好把俩clusterID备份下,我刚刚操作,虽然进程起来了但是hdfs上的数据和文件都没得了,大家可以把ID保留一下,用datanode替换到namenode上面试试看,数据还有没得。切记备份两个clusterID,在覆盖之前。
- 首先找到namenode的clusterID的值
- 然后把值copy处理
- 最后覆盖到datanode的clusterID的值上
- 重启即可
不多bb了~ 就这样吧,继续处理问题了~