1.停掉外部接入服務;html
2 NameNode Metadata備份;node
2.1 備份fsimage數據,(該操做適用HA和非HA的NameNode),使用以下命令進行備份:服務器
[root@cdh01 dfs]# mkdir nn_metadata_backoop
[root@cdh01 dfs]# hdfs dfsadmin -fetchImage nn_metadata_back/fetch
[root@cdh01 dfs]# ll nn_metadata_back日誌
2.2 備份edits數據(該操做適用非HA的NameNode),使用以下命令備份:htm
[root@cdh01 current]# sudo -u hdfs hdfs dfsadmin –rollEditsmd5
2.3 拷貝edits日誌到備份目錄(該操做適用非HA的NameNode),使用以下命令進行備份hadoop
在CM上找到NameNode的dfs.name.dir配置目錄it
將/data/dfs/nn/current目錄下的edits_0*開頭的文件拷貝至備份目錄
[root@cdh01 dfs]# mkdir nn_metadata_back/edits
[root@cdh01 dfs]# cp /data/dfs/nn/current/edits_0* nn_metadata_back/edits/
[root@cdh01 dfs]#
2.4備份VERSION文件(該操做適用於HA和非HA的NameNode),這個文件不須要按期備份,由於它不會更改,但該文件很是重要,由於文件中包含了clusterID一級其它詳細信息
[root@cdh01 dfs]# cp /data/dfs/nn/current/VERSION nn_metadata_back/
[root@cdh01 dfs]# ll nn_metadata_back/
total 1852
drwxr-xr-x 2 root root 831488 Oct 17 10:49 edits
-rw-r--r-- 1 root root 1051656 Oct 17 10:42 fsimage_0000000000007076989
drwx------ 3 root root 4096 Oct 17 14:06 snn
-rw-r--r-- 1 root root 173 Oct 17 10:49 VERSION
3 NameNode Metadata恢復;
3.1經過CM先將uc機器上namenode刪除,而後在ali機器上加一個namenode節點;
3.2 經過CM爲新加的節點添加NameNode角色;
3.3 檢查NameNode的dfs.name.dir配置的目錄在服務器上是否存在,若是不存在則須要手動的建立並確保目錄屬主爲hdfs:hdfs,且父目錄權限爲700;
[root@cdh01 ~]# mkdir -p /data/disk1/dfs/nn/
[root@cdh01 ~]# chown hdfs:hadoop /data/disk1/dfs/nn
[root@cdh01 ~]# chmod 700 /data/disk1/dfs/nn
3.4 將VERSION和最後備份的fsimage文件複製到/data/disk1/dfs/nn/current目錄下
[root@cdh01 dfs]# mkdir -p /data/disk1/dfs/nn/current
[root@cdh01 dfs]# cp /data/disk1/nn_metadata_back/VERSION /data/disk1/dfs/nn/current/
[root@cdh01 dfs]# cp /data/disk1/nn_metadata_back/fsimage_0000000000004483704 /data/disk1/dfs/nn/current/
[root@cdh01 dfs]# cp /data/disk1/nn_metadata_back/edits/* /data/disk1/dfs/nn/current/
[root@cdh01 dfs]# chown -R hdfs:hdfs /data/disk1/dfs/nn/current/
3. 5 爲fsimage文件建立md5校驗
[root@cdh01 dfs]# cd nn/current/
[root@cdh01 current]# md5sum fsimage_0000000000004483704 > fsimage_0000000000004483704.md5
[root@cdh01 current]# ll fsimage_0000000000004483704*
4 啓動namenode,驗證服務;
5 遷移secondary namenode要簡單些,只需遷移整個snn目錄到新節點,注意文件權限,而後經過cm刪除uc機器上snn,添加新的snn到ali節點;
*****最後在重啓集羣后,可能會發現hbase master節點起不來,或者不能切換爲active狀態,能夠參考如下文章:
https://community.hortonworks.com/questions/33140/hbase-master-fails-to-start.html