hadoop的namenode无法启动只能通过格式化解决?
问题报错问题忘记记录了,口头描述一下吧,事情是这样的,今天启动hadoop集群的时候,突然namenode无法启动了,之前都是可以正常启动的,我回忆了一下,应该是我最后一次不正常的操作导致的后果,hadoop集群启动的时候,直接关闭了虚拟机,因此上网查找解决办法,但是大多数都是要格式化才能解决,这样的话,数据就全部丢失了。如何解决既然问题已经找到了,最后一次的启动造成的,那么我们可以回退hadoo
·
问题报错
问题忘记记录了,口头描述一下吧,事情是这样的,今天启动hadoop集群的时候,突然namenode无法启动了,之前都是可以正常启动的,我回忆了一下,应该是我最后一次不正常的操作导致的后果,hadoop集群启动的时候,直接关闭了虚拟机,因此上网查找解决办法,但是大多数都是要格式化才能解决,这样的话,数据就全部丢失了。
如何解决
既然问题已经找到了,最后一次的启动造成的,那么我们可以回退hadoop的版本,回到更早之前的版本,这样的话,丢失的数据就不会太多
解决办法
1、利用SecondaryName中的备份数据,配置路径可以查看自己的配置文件
<!--SecondaryName备份NameNode中的edits文件的路径-->
<property>
<name>dfs.namenode.checkpoint.edits.dir</name>
<value>file:///export/servers/hadoop-3.1.2/datas/dfs/SecondryNameNode/edits</value>
</property>
<!--SecondaryNameNode用来备份checkpoint image文件的路径 -->
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file:///export/servers/hadoop-3.1.2/datas/dfs/SecondryNameNode/name</value>
</property>
2、将namenode中的edit和image的文件全部删除,路径查看自己的配置文件
<!--NameNode存储数据的路径-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///export/servers/hadoop-3.1.2/datas/namenode/namenodedatas</value>
</property>
<!--NameNode中的edits的操作记录存储路径,这个很重要,要是丢失了,集群无法启动-->
<property>
<name>dfs.namenode.edits.dir</name>
<value>file:///export/servers/hadoop-3.1.2/datas/dfs/NameNode/edits</value>
</property>
3、注意:以上的文件都是在current目录下的,仔细找找,别删错了,然后将SecondaryName的中的文件备份到复制到namenode,记得只复制到没有问题的版本就行
4、最后关闭hadoop,启动hadoop即可
stop-dfs.sh
start-dfs.sh
更多推荐
已为社区贡献4条内容
所有评论(0)