Hadoop 重新格式化HDFS

有时候因为自己的一些错误修改,导致Hadoop集群总是有些节点启动不起来。
这是就需要重新格式化HDFS,在重启。
但是重新格式化会导致一个问题,就是以前的namenode中已经记录了datanode的namespaceId了,重新启动会给datanode另一个Id,导致最终启动集群的时候,datanode总是启动不起来。

解决办法:
先删除namenode历史的文件,再格式化重启。
直接删除namenode的配置文件目录,在重新format

1,rm -rf ../hdfs/na*
2,./hadoop namenode -format
这时还需要将现在的新的datanode的namespaceId修改为以前的id。即和namenode的namespaceId一致。

可以在重启直接先记下来。在hdfs.site.xml配置了datanode的目录
找到current/version就可以看到namenode了。

或者可以先直接运行 bin/start-all.sh命令,启动完,在hadoop/logs目录下查看namenode的log文件,里面会报错,指出来namenode里面的datanode对不上。
再回到current/version,将datanode的namespaceId修改和namenode一致即可。

你可能感兴趣的:(Hadoop 重新格式化HDFS)