namenode故障恢复

在我们的secondaryNamenode对namenode当中的fsimage和edits进行合并的时候,每次都会先将namenode的fsimage与edits文件拷贝一份过来,所以fsimage与edits文件在secondarnamenode当中也会保存有一份,如果namenode的fsimage与edits文件损坏,那么我们可以将secondarynamenode当中的fsimage与edits拷贝过去给namenode继续使用,只不过有可能会丢失一部分数据。这里涉及到几个配置选项。
namenode保存fsimage的配置路径
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/namenodeDatas</value>
</property>
namenode保存edits文件的配置路径
<property>
<name>dfs.namenode.edits.dir</name>
<value>file:///kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/nn/edits</value>
</property>

secondarynamenode保存fsimage文件的配置路径
<property>
<name>dfs.namnode.checkpoint.dir</name>
<value>file:///kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/snn/name</value>
</property>
secondarynamenode保存edits文件的配置路径
<property>
<name>dfs.namenode.checkpoint.edist.dir</name>
<value>file:///kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/nn/snn/edits</value>
</property>

如果name当中的fsimage文件损坏或者丢失,我们可以从secondaryNamenode当中拷贝过去放到对应的路径下即可

第一步:杀死namenode进程
使用jps查看namenode进程号,然后直接使用kill -9进程号杀死namenode进程
jps
第二步:删除namenode的fsimage与edits文件
namnode所在机器执行以下命令,删除fsimage与edits文件
删除fsimage与edits文件
rm -rf /kkb/install/hadoop2.6.0-cdh5.14.2/hadoopDatas/namenodeDatas/*
rm -rf /kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/nn/edits/*

第三步:拷贝secondaryNamenode的fsimage与edits文件到namenode的fsimage与edits文件夹下面去
将secondaryNameNode所在机器的fsimage与edits文件拷贝到namnode所在的fsimage与edits文件夹下面去
由于我的secondarynamenode与namenode安装在同一台机器,都在node01上面,node01执行以下命令进行拷贝
cp -r /kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/snn/name/* /kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/namenodeDatas/
cp -r /kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/nn/snn/edits/* /kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/nn/edits

第四步:启动namenode
sbin/hadoop-daemon.sh start namenode

第五步:浏览器页面正常访问

http://node01:50070/explorer.html#/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容