datanode启动不了最常见的原因是namenode格式化两次或者两次以上,导致 DataNode的namespaceID (位于/hdfs/data/current/VERSION文件中)和NameNode的namespaceID(位于/hdfs/name/current/VERSION文件中)不一致
解决方法:
第一种方法:
删除DataNode的所有资料(及将集群中每个datanode的/hdfs/data/current中的VERSION删掉,然后执行hadoopnamenode -format重启集群,错误消失。<推荐>)
第二种方法:
修改每个DataNode的namespaceID(位于/hdfs/data/current/VERSION文件中)<优先>或修改NameNode的namespaceID(位于/hdfs/name/current/VERSION文件中),使其一致。