1.hadoop namenode多次格式化可能导致的问题
1.1 各个单独结点可以起来(jps有进程提示)但是用hdfs dfsadmin -report去查各项结果都为0。
1.2使用start-dfs.sh只启动了namenode没有启动datanode,且-report的结果也全0
遇到这个问题我开始怎么也解决不了,只好从头重新安装配置了一次lunix和hadoop,成功解决。
结果在配置hadoop.tmp.dir时,又要重新对hdfs namenode -format,又出现了上述2的现象,这次接受不了这个重装的方法,于是借鉴各位网有的博客,终于解决了。
解决方法如下:
1.在Hadoop的解压包下,找到share/doc/index.html,找到core-default.xml,里面找到dfs.namenode.dir和dfs.datanode.dir(如果你没有修改过的话)
2.到hadoop环境中根据以上查询到的目录,首先找到namenode.dir对应的目录下,找到dfs/name/current/VERSION,
vim VERSION,查看clusterID值并复制保存下来。
按照以上方式,(对所有的datanode进行操作)找到datanode.dir对应的目录,找到dfs/name/current/VERSION,vim VERSION,查看clusterID值。
3.对比两个clusterID值,如果不同,说明找到问题所在。
4.将datanode的clusterID值改成namenode一样的。
5.重启集群start-dfs.sh
以上完成。
笔者在因为之前改了namenode的hadoop.tmp.dir所以在找namenode的dfs.namenode.dir时,根据index.html提示就找到了目录,但是再找dfs.datanode.dir出现了问题,根据namenode的tmp.dir找不到,自己默认的也找不到,只好去查datanode的logs文件,所幸在里面看到了一条记录
2018-09-28 12:43:51,515 INFO org.apache.hadoop.hdfs.server.common.Storage: Locking is disabled for /tmp/hadoop-root/dfs/data/current/BP-1462737579-192.168.56.100-1538109733553
/tmp/hadoop-root/dfs/data/current/就找到了。
找不到以上目录的可以尝试上面的方法