操作場景
在用戶意外修改、刪除或需要找回數據時,系統管理員對NameNode進行重大操作(如升級、重大數據調整等)后,系統數據出現異常或未達到預期結果,模塊全部故障無法使用,或者遷移數據到新集群的場景中,需要對NameNode進行恢復數據操作。
系統管理員可以通過FusionInsight Manager創建恢復NameNode任務并恢復數據。只支持創建任務手動恢復數據。
須知
- 只支持進行數據備份時的系統版本與當前系統版本一致時的數據恢復。
- 當業務正常時需要恢復數據,建議手動備份最新管理數據后,再執行恢復數據操作。否則會丟失從備份時刻到恢復時刻之間的NameNode數據。
- 建議一個恢復任務只恢復一個組件的元數據,避免因停止某個服務或實例影響其他組件的數據恢復。同時恢復多個組件數據,可能導致數據恢復失敗。
HBase元數據不能與NameNode元數據同時恢復,會導致數據恢復失敗。
對系統的影響
- 數據恢復后,會丟失從備份時刻到恢復時刻之間的數據。
- 恢復數據后需要重啟NameNode,重啟完成前NameNode不可訪問。
- 恢復數據后可能導致元數據與業務數據無法匹配,HDFS進入安全模式且HDFS服務啟動失敗。
前提條件
- 如果需要從遠端HDFS恢復數據,需要準備備集群。如果主集群部署為安全模式,且主備集群不是由同一個FusionInsight Manager管理,則必須配置系統互信,請參見配置跨Manager集群互信。如果主集群部署為普通模式,則不需要配置互信。
- 主備集群必須已配置跨集群拷貝,請參見啟用集群間拷貝功能。
- 主備集群上的時間必須一致,而且主備集群上的NTP服務必須使用同一個時間源。
- 登錄FusionInsight Manager,請參見登錄管理系統。
- 在FusionInsight Manager停止所有待恢復數據的NameNode角色實例,其他的HDFS角色實例必須保持正常運行,恢復數據后重啟NameNode。NameNode角色實例重啟前無法訪問。
- 檢查NameNode備份文件保存路徑是否保存在主管理節點“ 數據存放路徑 /LocalBackup/”。
操作步驟
1.在FusionInsight Manager,選擇“集群 > 待操作集群的名稱 > 服務 > HDFS > 實例 > NameNode”,查看待恢復數據的NameNode角色實例是否已經停止,如果NameNode角色實例未停止,請停止NameNode角色實例運行。
2.在FusionInsight Manager,選擇“運維 > 備份恢復 > 備份管理”。
3.在任務列表指定任務的“操作”列,選擇“更多 > 查詢歷史”,打開備份任務執行歷史記錄。
在彈出的窗口中,在指定一次執行成功記錄的“備份路徑”列,單擊“查看”,打開此次任務執行的備份路徑信息,查找以下信息:
- “備份對象”表示備份的數據源。
- “備份路徑”表示備份文件保存的完整路徑。
選擇正確的項目,在“備份路徑”手工選中備份文件的完整路徑并復制。
4.在FusionInsight Manager,選擇“運維 > 備份恢復 > 恢復管理”。
5.單擊“創建”。
6.在“任務名稱”填寫恢復任務的名稱。
7.在“恢復對象”選擇待操作的集群。
8.在“恢復配置”,勾選“NameNode”。
9.在“NameNode”的“路徑類型”,選擇一個備份目錄的類型。
選擇不同的備份目錄時,對應設置如下:
- “LocalDir”:表示備份文件保存在主管理節點的本地磁盤上。
選擇此參數值,還需要配置以下參數:
“源端路徑”:表示備份文件在本地磁盤中保存的完整路徑。例如“ 備份路徑/備份任務名_任務創建時間/版本號_數據源_任務執行時間.tar.gz ”。
“目標NameService名稱”:選擇備份目錄對應的目標NameService名稱。默認值為“hacluster”。
- “RemoteHDFS”:表示備份文件保存在備集群的HDFS目錄。
選擇此參數值,還需要配置以下參數:
“源端NameService名稱”:填寫備份數據集群的NameService名稱。可以輸入集群內置的遠端集群的NameService名稱:haclusterX,haclusterX1,haclusterX2,haclusterX3,haclusterX4;也可輸入其他已配置的遠端集群NameService名稱。
“IP 模式”:目標IP的IP地址模式。系統會根據集群網絡類型自動選擇對應的IP模式,如IPv4或者IPv6。
“源端NameNode IP地址”:填寫備集群NameNode業務平面IP地址,支持主節點或備節點。
“源端路徑”:填寫備集群保存備份數據的完整HDFS路徑。例如,“ 備份路徑/備份任務名_數據源_任務創建時間/版本號_數據源_任務執行時間.tar.gz ”。
“隊列名稱”:填寫備份任務執行時使用的YARN隊列的名稱。需和集群中已存在且狀態正常的隊列名稱相同。
“目標NameService名稱”:選擇備份目錄對應的NameService名稱。默認值為“hacluster”。
- “NFS”:表示將備份文件通過NFS協議保存在NAS中。選擇此參數值,還需要配置以下參數:
“IP 模式”:目標IP的IP地址模式。系統會根據集群網絡類型自動選擇對應的IP模式,如IPv4或者IPv6。
“服務器IP地址”:填寫NAS服務器IP地址。
“源端路徑”:填寫備份文件在NAS服務器中保存的完整路徑。例如,“ 備份路徑/備份任務名_數據源_任務創建時間/版本號_數據源_任務執行時間.tar.gz ”。
“目標NameService名稱”:選擇備份目錄對應的目標NameService名稱。默認值為“hacluster”。
- “CIFS”:表示將備份文件通過CIFS協議保存在NAS中。選擇此參數值,還需要配置以下參數:
“IP 模式”:目標IP的IP地址模式。系統會根據集群網絡類型自動選擇對應的IP模式,如IPv4或者IPv6。
“服務器IP地址”:填寫NAS服務器IP地址。
“端口號”:填寫CIFS協議連接NAS服務器使用的端口號,默認值為“445”。
“用戶名”:填寫配置CIFS協議時設置的用戶名。
“密碼”:填寫配置CIFS協議時設置的密碼。
“源端路徑”:填寫備份文件在NAS服務器中保存的完整路徑。例如,“ 備份路徑/備份任務名_數據源_任務創建時間/版本號_數據源_任務執行時間.tar.gz ”。
“目標NameService名稱”:選擇備份目錄對應的目標NameService名稱。默認值為“hacluster”。
- “SFTP”:表示備份文件通過SFTP協議保存在服務器中。
選擇此參數值,還需要配置以下參數:
“IP 模式”:目標IP的IP地址模式。系統會根據集群網絡類型自動選擇對應的IP模式,如IPv4或者IPv6。
“服務器IP地址”:填寫備份數據的服務器IP地址。
“端口號”:填寫SFTP協議連接備份服務器使用的端口號,默認值為“22”。
“用戶名”:填寫使用SFTP協議連接服務器時的用戶名。
“密碼”:填寫使用SFTP協議連接服務器時的密碼。
“源端路徑”:填寫備份文件在備份服務器中保存的完整路徑。例如,“ 備份路徑/備份任務名_數據源_任務創建時間/版本號_數據源_任務執行時間.tar.gz ”。
“目標NameService名稱”:選擇備份目錄對應的目標NameService名稱。默認值為“hacluster”。
- “OBS”:表示將備份文件保存在OBS中。
選擇此參數值,還需要配置以下參數:
“源端路徑”:填寫備份文件在OBS中保存的完整路徑。例如,“ 備份路徑/備份任務名_數據源_任務創建時間/版本號_數據源_任務執行時間.tar.gz ”。
“NameService名稱”:選擇備份目錄對應的NameService名稱。默認值為“hacluster”。

說明MRS 3.1.0及之后版本才支持將備份文件保存到OBS。
- 單擊“確定”保存。
11.在恢復任務列表已創建任務的“操作”列,單擊“執行”,開始執行恢復任務。
- 恢復成功后進度顯示為綠色。
- 恢復成功后此恢復任務不支持再次執行。
- 如果恢復任務在第一次執行時由于某些原因未執行成功,在排除錯誤原因后單擊“重試”,重試恢復任務。
12.在FusionInsight Manager,選擇“集群 > 待操作集群的名稱 > 服務 > HDFS > 更多 > 重啟服務”。
在彈出窗口中輸入當前登錄的管理員密碼確認管理員身份,單擊“確定”。界面提示“操作成功。”,單擊“完成”,服務成功啟動。