HDFS7 NameNode故障恢复
更多整理都在我的github上:Auraros欢迎大家。
使用SecondaryNameNode恢复数据
SecondaryNamenode
对Namenode
当中的Fsimage
和Edits
进行合并时,每次都会先将Namenode
的Fsimage
与Edits
文件拷贝一份过来,所以fsimage
与edits
文件在secondarNamendoe
当中也会保存有一份,如果namenode
的fsimage
与edits
文件损坏,那么我们可以将secondaryNamenode
当中的fsimage
与edits
拷贝过去给namenode
继续使用,只不过有可能会丢失一部分数据。
查看配置选项 hdfs-site.xml
- namenode保存fsimage的配置路径(hdfs-site.xml):
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/HadoopDatas/namenodeDatas</value>
</property>
- namenode保存edits文件的配置路径
<property>
<name>dfs.namenode.edits.dir</name>
<value>/usr/local/hadoop/HadoopDatas/dfs/nn/edits</value>
</property>
- secondaryNamenode保存fsimage文件的配置路径:
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>/usr/local/hadoop/Hadoop-2.6.0cdh5.14.0/HadoopDatas/dfs/snn/name</value>
</property>
- secondaryNamenode保存edits文件的配置路径:
<property>
<name>dfs.namenode.checkpoint.edits.dir</name>
<value>/usr/local/hadoop/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/dfs/nn/snn/edits</value>
</property>
故障恢复步骤
- 删除namenode的fsimage与edits文件
namenode所在机器执行以下命令,删除fsimage与edits文件
rm -rf /usr/local/hadoop/hadoopDatas/namenodeDatas/*
rm -rf /usr/local/hadoop/hadoopDatas/dfs/nn/edits/*
-
拷贝secondaryNamenode的fsimage与edits文件
将secondaryNameNode所在机器的fsimage与edits文件拷贝到namenode所在的fsimage与edits文件夹下面去。 拷贝fsimage cp -r /usr/local/hadoop/hadoopDatas/dfs/snn/name/* /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas/ 拷贝edits cp -r /usr/local/hadoop/hadoopDatas/dfs/nn/snn/edits/* /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits
-
启动集群
/export/servers/hadoop-2.6.0-cdh5.14.0/sbin ./start-all.sh
-
浏览器页面正常访问
http://ip:50070/explorer.html#/