问题描述
当我使用./hdfs namenode -format 多次对文件系统进行格式化的时候,会出现datanode或者namenode无法启动的问题
问题产生原因
执行文件系统格式化时,会在namenode数据文件夹,即配置文件 hdfs-site.xml中dfs.namenode.name.dir在本地系统的路径中保存一个current/VERSION文件,记录clusterID,标识了所格式化的 namenode的版本。
当我们频繁的格式化namenode,那么datanode中保存(即配置文件中dfs.data.dir在本地系统的路径)的current/VERSION文件只是你第一次格式化时保存的namenode的ID,因此就会造成datanode与namenode之间的 id 不一致
解决方法
(1)简单直接粗暴:将current目录删除之后,重新格式化namenode
(2)把配置文件中dfs.datanode.data.dir在本地系统的路径下的current/VERSION中的clusterID改为与namenode一样,重启即可