このトピックでは、E-MapReduce(EMR)HBase クラスターをバックアップする方法について説明します。
前提条件
2 つの Hadoop クラスターが作成され、HBase サービスと ZooKeeper サービスがクラスターに追加されています。詳細については、「クラスターの作成」をご参照ください。手順
- テーブルを作成し、テーブルにデータを追加します。
- 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 にアクセスします。 - 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
- スナップショットに基づいてテーブルを作成します。