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