secondaryNamenode对namenode当中的fsimage和edits进行合并时,每次都会先将namenode的fsimage与edits文件拷贝一份过来,所以fsimage与edits文件在secondarNamendoe当中也会保存有一份如果namenode的fsimage与edits文件损坏,那么我们可以将secondaryNamenode当中的fsimage与edits拷贝过去给namenode继续使用只不过有可能会丢失一部分数据。
        这里涉及到几个配置选项:

namenode保存fsimage的配置路径:

<property>
                <name>dfs.namenode.name.dir</name>
                <value>file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/namenodeDatas</value>
</property>

namenode保存edits文件的配置路径:

<property>
                <name>dfs.namenode.edits.dir</name>
                <value>file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/dfs/nn/edits</value>
</property>

secondaryNamenode保存fsimage文件的配置路径:

<property>
                <name>dfs.namenode.checkpoint.dir</name>
                <value>file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/dfs/snn/name</value>
</property>

secondaryNamenode保存edits文件的配置路径:

<property>
                <name>dfs.namenode.checkpoint.edits.dir</name>
                <value>file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/dfs/nn/snn/edits</value>
</property>

故障恢复步骤

1.删除namenode的fsimage与edits文件

        namenode所在机器执行以下命令,删除fsimage与edits文件
        rm -rf /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas/*
        rm -rf /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits/*


2.拷贝secondaryNamenode的fsimage与edits文件

        将secondaryNameNode所在机器的fsimage与edits文件拷贝到namenode所在的fsimage与edits文件夹下面去。
        由于小菌的secondaryNameNode与namenode安装在同一台机器,都在node01上面,node01执行以下命令进行拷贝。

拷贝fsimage
cp -r /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/snn/name/* /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas/
拷贝edits
cp -r /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/snn/edits/* /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits

3.启动集群

        /export/servers/hadoop-2.6.0-cdh5.14.0/sbin
        ./start-all.sh

4.浏览器页面正常访问

        http://xxxx:50070/explorer.html#/【xxxx为namenode所在节点的ip】
        发现一切正常,说明故障恢复成功!
HDFS中namenode故障恢复(8)_HDFS教程

        本次的分享就到这里了,小伙伴们有什么疑惑或好的建议可以积极在评论区留言,小菌后续还会推出HDFS系列的其他内容,希望大家持续关注小菌ヾ(๑╹◡╹)ノ"!


  往期精彩内容回顾:
《HDFS文件系统介绍(1)》
《HDFS文件读写流程(2)》
《HDFS特性及缺点分析(3)》
《HDFS的高级命令使用——文件限额配置(4)》
《HDFS的安全模式与文件权限检验(5)》
《HDFS中Fsimage,Edits详解(6)》
《HDFS中SecondaryNamenode工作原理(7)》
《HDFS的shell常用命令大全》