namenode故障恢复

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

dfs.namenode.name.dir
file:///kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/namenodeDatas

namenode保存edits文件的配置路径

dfs.namenode.edits.dir
file:///kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/nn/edits

secondarynamenode保存fsimage文件的配置路径

dfs.namnode.checkpoint.dir
file:///kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/snn/name

secondarynamenode保存edits文件的配置路径

dfs.namenode.checkpoint.edist.dir
file:///kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/nn/snn/edits

如果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#/

你可能感兴趣的:(namenode故障恢复)