E-MapReduce で作成された HBase クラスターでは、HBase に統合されたスナップショット機能を使用して HBase テーブルのバックアップを取り、そのバックアップを OSS にエクスポートできます。

コーディング例 :

  1. HBase クラスターの作成

    詳細は、「クラスターの作成 (Create clusters)」をご参照ください。

  2. テーブルの作成
    >create 'test','cf'
  3. Add data
    > 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
  4. スナップショットの作成
    hbase snapshot create -n test_snapshot -t test
    スナップショットの一覧表示
    >list_snapshots
    SNAPSHOT                TABLE + CREATION TIME
     test_snapshot          test (Sun Sep 04 20:31:00 +0800 2016)
    1 row(s) in 0.2080 seconds
  5. スナップショットを 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 にアクセス
  6. 別の HBase クラスターを作成
  7. 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/
  8. スナップショットからデータを復元
    >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
  9. スナップショットから新しいテーブルを作成
    >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