在集群上安装Hadoop1.2.1,并配置好,启动hdfs后使用jps查看datanode,启动后过一会再看就消失了

在网上看了好多的解决办法,都是千篇一律的namenode的namespaceID或者clusterID不匹配,但是我查看了我的日志,并没有发现类似的情况,而且都是正常的,没有出现Error的信息,但是也有的文章启发了我,可以试试从缓存文件下手,于是我就将集群上面所有的hadoop配置的hadoop.tmp.dir对应的文件使用rm命令删除,并将集群上面/tmp文件中有关于Hadoop的缓存文件也全部删除,随后我又重新使用hadoop namenode -format命令格式化了一下,再使用start-all.sh命令启动,竟然真的运行正常了!

 

上面是我两天前的结论,昨天我又部署集群的时候,同样又出现了这样的问题,用了上面的办法解决了一次,但是又复发了,于是我就把DataNode的log看了一遍,发现了问题出现在了DataNode中,DataNode的log中显示namenode和datanode中的namespaceID不匹配,于是我就找到了DataNode上的我配置的hadoop.tmp.dir目录下的dfs/data/current/VERSION文件和namenode上的我配置的hadoop.tmp.dir目录下的dfs/name/current/VERSION文件,用vi打开后发现确实两个文件的namespaceID不同,然后我就将namenode上VERSION文件中的namespaceID替换了datanode上VERSION文件中的namespaceID,随后又重新启动hadoop,运行成功!

 

这是我的第一篇博客,以上也都是我遇到的一些问题和解决方法和步骤,希望能帮助到各位。

你可能感兴趣的:(hadoop)