Hadoop集羣的NameNode的備份

Hadoop集羣中,NameNode節點存儲着HDFS上所有文件和目錄的元數據信息

如果NameNode掛了,也就意味着整個Hadoop集羣也就完了

所以,NameNode節點的備份很重要,可以從以下2個方面來備份NameNode節點

1. 在hdfs-site.xml中,配置多個name的dir到不同的磁盤分區上:

<property>
    <name>dfs.name.dir</name>
    <value>/pvdata/hadoopdata/name/,/opt/hadoopdata/name/</value>
</property>

2. 在另外的一臺服務器上配置Secondary NameNode:它是NameNode的一個備份

Secondary NameNode會定期合併fsp_w_picpath和edits日誌,將edits日誌文件大小控制在一個限度下

合併的時機是由2個配置參數決定的:

fs.checkpoint.period,指定連續兩次檢查點的最大時間間隔, 默認值是1小時。
fs.checkpoint.size定義了edits日誌文件的最大值,一旦超過這個值會導致強制執行檢查點(即使沒到檢查點的最大時間間隔)。默認值是64MB。

Secondary NameNode的配置過程如下:

  • 在conf/masters中指定第二名稱節點的主機名

  • 在core-site.xml中指定checkpoint的目錄

<property>
  <name>fs.checkpoint.dir</name>
  <value>/opt/hadoopdata/secondname,/pvdata/hadoopdata/secondname</value>
  <description>Determines where on the local filesystem the DFS secondary
      name node should store the temporary p_w_picpaths to merge.
      If this is a comma-delimited list of directories then the p_w_picpath is
      replicated in all of the directories for redundancy.
  </description>
</property>

如果NameNode節點掛了,可以按照如下步驟來從Secondary NameNode來恢復:

  • dfs.name.dir指定的位置建立一個空文件夾

  • 從Secondary NameNode上把secondname的目錄給scp到新的NameNode機器的fs.checkpoint.dir下

  • 使用hadoop/bin/hadoop namenode -importCheckpoint來啓動NameNode,主要不要執行format命令

  • 使用hadoop fsck /user命令檢查文件Block的完整性

詳細的Secondary NameNode細節可參考Hadoop官方文檔:

http://hadoop.apache.org/common/docs/r0.20.2/hdfs_user_guide.html#Secondary+NameNode

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