问题1:Hadoop---java.io.IOException: NameNode is not formatted
可能是之前格式化次数过多引起的,多次格式化会引起clusterID变化。关闭Hadoop再进行一次格式化重新启动namenode就行。
如果格式化不行,则需要删除namenode目录下的文件,再格式化一次然后重新启动namenode。
格式化namenode:
hadoop namenode -format
问题2:解决启动hadoop时datanode无法启动
当我们使用hadoop namenode -format格式化namenode时,会在namenode数据文件夹(这个文件夹为自己配置文件中dfs.name.dir的路径)中保存一个current/VERSION文件,记录clusterID,datanode中保存的current/VERSION文件中的clustreID的值是第一次格式化保存的clusterID,这样,datanode和namenode之间的ID不一致
启动hadoop,datanode没有启动
查找日志/var/log/hadoop-hdfs/hadoop-hdfs-datanode-hbase.log
发现namenode clusterID和datanode clusterID的值不一样
复制namenode clusterID的值
找到配置文件
在配置文件dfs.data.dir的路径/data/hdfs/data/下编辑current/VERSION
将clusterID的值替换到第三步中获得的值