注:只有Cloudera Manager企業版纔有Cloudera Manager的備份和災難恢復功能
一、 概述
Cloudera Manager提供了一個集成的、易於使用的管理解決方案,使數據保護在Hadoop的平臺。Cloudera Manager提供了豐富的功能旨在複製存儲在HDFS數據和通過Hive跨數據中心的災難恢復場景。當關鍵數據存儲在HDFS,Cloudera Manager提供必要的功能,以確保數據是可用的,即使面對完全關閉的數據中心。
Cloudera Manager還提供了計劃的能力,保存和恢復HDFS目錄和HBase表的快照。
Cloudera Manager提供關鍵功能完全集成到Cloudera Manager管理控制檯:
Select(選擇) —— 選擇的關鍵數據集,你的業務操作的關鍵。
Schedule(計劃)—— 創建一個適當的計劃數據複製或快照。
Monitor(監控)—— 跟蹤進度的快照和複製工作通過中央控制檯和容易識別的問題或文件未能被轉移。
Alert(警報)—— 問題警報當快照或複製工作失敗或者是流產,這樣可以迅速診斷問題。
端口的要求:
必須確保以下端口開放和跨集羣,使訪問源和目的地之間的通信Cloudera Manager服務器和HDFS,Hive,MapReduce和YARN主機:
l Cloudera Manager管理控制檯端口:默認是7180。
l HDFS NameNode端口::默認是8020。
l HDFS DataNode端口:默認是50010。
l WebHDFS端口:默認是50070。
二、 複製
1、 同行
有多個CDH集羣並且被多個Cloudera Manager管理,我們需要將其中一個集羣的數據複製到另一個集羣中時,我們首先要做的就是將源集羣的Cloudera Manager和目的集羣的Cloudera Manager建立關係。
2.1.1:點擊“管理”
2.1.2:選中“同行”
2.1.3:如果沒有添加過同行,就添加新的同行
2.1.4:這裏填寫的是需要關聯的Cloudera Manager的信息,最後點擊“添加同行”
注:當我們有多個集羣都是在同一個Cloudera Manager管理下時,集羣與集羣間複製數據不需要進行這一步。
如下圖:一個Cloudera Manager管理了兩個集羣
2、 HDFS複製
2.2.1:點擊“備份”,選擇“複製”
2.2.2:查看 “源”
2.2.3:查看“計劃”,該圖顯示還沒有計劃,
我們可以添加新的“計劃”,例如創建“計劃HDFS複製”
2.2.4:這裏填寫計劃內容,如下圖2.2.5
2.2.5:將集羣1的HDFS的/user/hive/warehouse/scan複製到集羣2的HDFS的/user/hive/warehouse/scan中,
下面可以選擇只執行一次還是反覆執行和更多選項
2.2.6:“反覆出現”選擇時間間隔
2.2.7:“更多選項”的內容
2.2.8:創建完“HDFS複製計劃”後
3、 HIVE複製
2.3.1:創建“Hive複製”
2.3.2:這裏填寫計劃內容,數據庫如下圖2.3.3
2.3.3:數據庫可以選擇“全部複製”,
或者用正則表達式匹配需要的數據庫和表
2.3.4:“更多選項”的內容
2.3.5:創建完“Hive複製計劃“後
三、 快照
1、 HDFS快照
3.1.1:點擊“備份”,選擇“快照”
3.1.2:點擊創建,可以選擇需要快照的服務
3.1.3:路徑中不存在快照表路徑,需要先製作路徑快照表
3.1.4:點擊Cluster1的“HDFS”,進入HDFS管理界面
3.1.5:點擊“文件瀏覽器”,進入HDFS文件管理界面
3.1.6: HDFS文件管理界面,可以瀏覽HDFS文件
3.1.7:進入到“/user/hive/warehouse/scan”,點擊“啓動快照”,
就啓動了針對於“/user/hive/warehouse/scan”的快照服務
3.1.8:啓動快照服務
3.1.9:接下來就可以選擇“路徑”了,點擊保存策略
3.1.10:整點在自動運行策略
3.1.11:查看運行結果
快照的路徑:
快照的文件在“.snapshot”文件夾中,假設對“/foo/bar”做快照生成的快照前綴是s0,那麼快照的路徑就是/foo/.snapshot/s0/bar
查看snapshottable目錄下所有快照:hdfs dfs -ls/foo/.snapshot
查看快照文件s0下列表:hdfs dfs -ls/foo/.snapshot/s0
快照的恢復:
直接將快照文件複製或移動到指定目錄下,如:hdfs dfs -cp-ptopax /foo/.snapshot/s0/bar /tmp
2、 HBASE快照
3.2.1:這裏填寫計劃內容,表用正則表達式來選擇
3.2.2:“更多選項”中可以選擇“警報”,點擊保存策略
3.2.3:創建完“HBase快照策略”後
配置和啓用HBase快照:
hbase-site.xml中的hbase.snapshot.enabled設置爲true
<property>
<name>hbase.snapshot.enabled</name>
<value>
false
</value>
</property>
快照的路徑:
/hbase/.hbase-snapshot
如:對test_table做快照,查看快照
HDFS命令查看:
Hbase命令查看:
快照的操作:
1、獲取指定表的快照使用snapshot命令(不產生文件複製)
hbase> snapshot ‘tableName’, ‘snapshotName’
2、列出所有的快照,使用 list_snapshot 命令。會展示出快照名稱,源表,以及創建日期和時間
hbase> list_snapshots
3、刪除快照使用 deleted_snapshot 命令。刪除快照不會影響到克隆表或者之後生成的快照。
hbase> delete_snapshot ‘snapshotName’
4、使用clone_snapshot命令從指定的快照生成新表(克隆)。由於不會產生數據複製,所以最終用到的數據不會是之前的兩倍。
hbase> clone_snapshot ‘snapshotName’, ‘newTableName’
5、使用restore_snapshot命令將指定快照內容替換當前表結構/數據。
hbase> restore_snapshot ‘snapshotName’
6、使用ExportSnapshot工具將現有快照導出至其他集羣。導出工具不會影響到域服務器負載,只是工作在HDFS層面所以需要指定HDFS路徑(其他集羣的hbase根目錄)。
hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot –snapshot SnapshotName-copy-to hdfs:///srv2:8082/hbase