集羣的namenode故障恢復

      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>

 

故障恢復步驟

第一步:殺死namenode進程

使用jps查看namenode進程號,然後直接使用kill  -9  進程號殺死namenode進程

[root@node01 servers]# jps

127156 QuorumPeerMain

127785 ResourceManager

17688 NameNode

127544 SecondaryNameNode

127418 DataNode

128365 JobHistoryServer

19036 Jps

127886 NodeManager

[root@node01 servers]# kill -9 17688

 

第二步:刪除namenode的fsimage與edits文件

namenode所在機器執行以下命令,刪除fsimage與edits文件

刪除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/*

 

 

第三步:拷貝secondaryNamenode的fsimage與edits文件到namenode的fsimage與edits文件夾下面去

將secondaryNameNode所在機器的fsimage與edits文件拷貝到namenode所在的fsimage與edits文件夾下面去

由於我的secondaryNameNode與namenode安裝在同一臺機器,都在node01上面,node01執行以下命令進行拷貝

 

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/

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

 

第四步:啓動namenode

node01服務器執行以下命令啓動namenode

cd hadoop-2.6.0-cdh5.14.0/

sbin/hadoop-daemon.sh start namenode

 

第五步:瀏覽器頁面正常訪問

http://當前節點的ip:50070/explorer.html#/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章