原因
多次进行格式化导致各个节点之间的版本号不同,集群不能正常启动。
当在NameNode中使用了格式化
hdfs namenode -formar
导致NameNode的版本号发生变化。
当我们使用hadoop namenode -format格式化namenode时,会在namenode数据文件夹(这个文件夹为自己配置文件中dfs.name.dir的路径)中保存一个current/VERSION文件,记录clusterID,datanode中保存的current/VERSION文件中的clustreID的值是上一次格式化保存的clusterID,这样,datanode和namenode之间的ID不一致。
这时启动hdfs
start-dfs.sh
会发生DATa Node无法正常启动的bug。
需要删除每个节点下的data目录(这个文件夹为自己配置文件中dfs.name.dir的路径)和logs目录。
重新格式化,再启动hdfs服务,正常了。
总结
不要随便格式化,一旦重新格式化很有可能产生版本不一致,导致集群无法正常启动。