注:只有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
hbase.snapshot.enabled
false
快照的路径:
/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