(亲测有效)
在Hadoop日常运维过程中,比较常见的一个问题就是DataNode节点无法启动。无法启动的一个原因可能为HDFS重复的进行格式化。
在进行文件系统格式化时,会在NameNode节点的data目录中保存一个current/VERSION文件,记录当前的clusterID。如果我们再次格式化NameNode,NameNode中clusterID则会发生改变。导致集群中DataNode与NameNode中clusterID不同,从而导致集群的DataNode无法正常启动。
所以我们现在需要输入cd $HADOOP_HOME/logs
找到关于datanode的logs日志
用cat打开这个日志
就可以看到出现的问题在哪
接着打开你出现问题的那个文件 我的是cd /export/servers/hadoop-2.7.4/tmp/dfs/data,把你的namenode的clusterID复制下来
打开后找到里面的current/VERSION
进行修改,把datanode的clusterID更换成namenode的clusterID
之后就可以验证启动HDFS服务