本文介绍如何备份E-MapReduce的HBase集群。
前提条件
已创建两个Hadoop集群,并添加HBase和Zookeeper服务,详情请参见创建集群。
操作步骤
- 通过SSH方式登录集群。详情请参见使用SSH连接主节点。
- 创建Table并添加数据。
- 打开HBase Shell。
hbase shell - 创建表。
create 'test','cf' - 添加数据。
put 'test','a','cf:c1',1 put 'test','a','cf:c2',2 put 'test','b','cf:c1',3 put 'test','b','cf:c2',4 put 'test','c','cf:c1',5 put 'test','c','cf:c2',6 - 退出HBase Shell。
exit
- 打开HBase Shell。
- 创建并查看快照。
- 创建快照。
hbase snapshot create -n test_snapshot -t test - 打开HBase Shell。
hbase shell - 查看快照。
list_snapshots返回如下信息。SNAPSHOT TABLE + CREATION TIME test_snapshot test (Tue Aug 18 14:35:28 +0800 2020) 1 row(s) in 0.2450 seconds => ["test_snapshot"] - 退出HBase Shell。
exit
- 创建快照。
- 导出数据至OSS。
hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot test_snapshot -copy-to oss://$accessKeyId:$accessKeySecret@$bucket.oss-cn-hangzhou-internal.aliyuncs.com/hbase/snapshot/test说明 OSS使用内网Endpoint。 - 通过SSH方式登录另一个集群。详情请参见使用SSH连接主节点。
- 导出OSS快照。
hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot test_snapshot -copy-from oss://$accessKeyId:$accessKeySecret@$bucket.oss-cn-hangzhou-internal.aliyuncs.com/hbase/snapshot/test -copy-to /hbase/ - 从快照恢复数据并新建表。
- 打开HBase Shell。
hbase shell - 从快照恢复数据。
restore_snapshot 'test_snapshot' - 查看表。
scan 'test'返回如下信息。ROW COLUMN+CELL a column=cf:c1, timestamp=1472992081375, value=1 a column=cf:c2, timestamp=1472992090434, value=2 b column=cf:c1, timestamp=1472992104339, value=3 b column=cf:c2, timestamp=1472992099611, value=4 c column=cf:c1, timestamp=1472992112657, value=5 c column=cf:c2, timestamp=1472992118964, value=6 3 row(s) in 0.0540 seconds
- 打开HBase Shell。
- 从快照创建新表并查看数据。
- 从指定的快照生成新表。
clone_snapshot 'test_snapshot','test_2' - 查看新表数据。
scan 'test_2'返回信息如下。ROW COLUMN+CELL a column=cf:c1, timestamp=1472992081375, value=1 a column=cf:c2, timestamp=1472992090434, value=2 b column=cf:c1, timestamp=1472992104339, value=3 b column=cf:c2, timestamp=1472992099611, value=4 c column=cf:c1, timestamp=1472992112657, value=5 c column=cf:c2, timestamp=1472992118964, value=6 3 row(s) in 0.0540 seconds
- 从指定的快照生成新表。