您的位置:首页 > Web前端 > Node.js

datanode或者namenode无法启动

2018-02-27 20:50 267 查看

问题描述

起初问题是datanode无法启动,查看datanode中/home/zkpk/Software/hadoop-2.4.0/logs的datanode日志发现问题是cluster ID不一致导致的。



网上的解决方法有修改datanode的clusterID与namenode的clusterID一致或者直接删除datanode的VERSION两种方法。

由于没搞清楚几个VERSION的区别,随便找到一个删了就觉得可以了,在slave节点的hadoopdata/dfs/name/current下面没有找到VERSION,但是在master节点的hadoopdata/dfs/name/current下面找到了VERSION,于是删除之,重新格式化namenode并重启集群,结果slave节点中的datanode出现了,但是master节点中的namenode没了。

查看master中/home/zkpk/Software/hadoop-2.4.0/logs的namenode日志,



然而在启动之前明明格式化了那namenode,所以是怎么回事呢?

现在datanode启动成功说明不存在ID不一致的问题了,那么namenode无法启动会不会是因为删错了东西。

经过调查发现果然如此,应该删除的是datanode的/home/zkpk/hadoopdata/dfs/data/current目录下的VERSION,因为开始在图形界面打开该目录无法显示,所以没有找到该VERSION。应该在root权限下进入该目录删除VERSION。

原因很简单,集群启动namenode需要从master的/home/zkpk/hadoopdata/dfs/name/current中找到VERSION获取集群ID,若删除该文件则找不到clusterID所以无法启动namenode,而且因为没有了namenode的clusterID,因此datanode启动时不存在datanodeID和namenodeID不匹配的问题,因此datanode成功启动。

总结:应该删除的slave节点的/home/zkpk/hadoopdata/dfs/data/current下的VERSION,不能删除master节点的/home/zkpk/hadoopdata/dfs/name/current下的VERSION。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  namenode
相关文章推荐