1. 程式人生 > 實用技巧 >【HDFS篇08】NameNode故障處理

【HDFS篇08】NameNode故障處理

記住,你的記憶效率=線索數量*線索質量

NameNode故障處理

問題場景:只配置了一個NameNode作為主節點,當它宕掉後如何恢復資料呢?

方法一:拷貝SNN資料到NN儲存資料的目錄中

  1. kill -9 NameNode程序

  2. 刪除NameNode儲存的資料(/opt/module/hadoop-2.7.2/data/tmp/dfs/name)

 rm -rf /opt/module/hadoop-2.7.2/data/tmp/dfs/name/*
  1. 拷貝SecondaryNameNode中資料到原NameNode儲存資料目錄
 在hadoop102上執行,拷貝hadoop104的資料到這裡
 
 scp -r 使用者名稱@hadoop104:/opt/module/hadoop-2.7.2/data/tmp/dfs/namesecondary/* ./name/
  1. 重新啟動NameNode即可
hadoop-daemon.sh start namenode

方法二:使用-importCheckpoint選項啟動NN守護程序,它會將SNN資料拷貝到NN資料目錄中的

  1. 修改hdfs-site.xml
<property>
 <name>dfs.namenode.checkpoint.period</name>
 <value>120</value>
</property>

<property>
 <name>dfs.namenode.name.dir</name>
 <value>/opt/module/hadoop-2.7.2/data/tmp/dfs/name</value>
</property>
  1. kill -9 NameNode程序
  2. 刪除NameNode儲存的資料(/opt/module/hadoop-2.7.2/data/tmp/dfs/name)
rm -rf /opt/module/hadoop-2.7.2/data/tmp/dfs/name/*
  1. 拷貝SecondaryNameNode中資料到原NameNode儲存資料目錄並刪除in_use.lock檔案
scp -r 使用者名稱@hadoop104:/opt/module/hadoop-2.7.2/data/tmp/dfs/namesecondary ./

[zhutiansama@hadoop102 namesecondary]$ rm -rf in_use.lock
  1. 匯入檢查點資料(等待一會ctrl+c結束掉)
hdfs namenode -importCheckpoint

​ 6.啟動NameNode

hadoop-daemon.sh start namenode

相關資料