すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:HBase のストレージバックエンドとしての OSS-HDFS の使用

最終更新日:Jun 17, 2026

DataServing クラスターの HBase データを OSS-HDFS に保存することで、コンピューティングとストレージを分離できます。先行書き込みログ (WAL) データは HDFS に残ります。

背景

OSS-HDFS は、統一されたメタデータ管理、完全な HDFS API 互換性、および包括的な POSIX サポートを備えた、クラウドネイティブのデータレイクストレージサービスです。データレイクアーキテクチャにおけるビッグデータおよび AI コンピューティングシナリオに適しています。詳細については、「OSS-HDFS とは」をご参照ください。

次の図は、OSS-HDFS 上の HBase のアーキテクチャを示しています。HBase on OSS-HDFS

制限事項

E-MapReduce 3.42 以降、または E-MapReduce 5.8.0 以降を実行している DataServing クラスターでのみサポートされています。

手順

  1. OSS-HDFS を有効にし、必要なアクセス権限を付与します。詳細については、「OSS-HDFS を有効にしてアクセス権限を付与する」をご参照ください。

  2. OSS-HDFS サービスエンドポイントの取得

    OSS コンソールで、Overview ページに移動して OSS-HDFS サービスのエンドポイントをコピーし、E-MapReduce HBase クラスターの作成時にそのエンドポイントを hbase.rootdir パラメーターのパスとして使用します。HDFS Endpoint

  3. OSS-HDFS を使用します。

    1. DataServing クラスターを作成します。詳細については、「クラスターの作成」をご参照ください。

      HBase oldDataServing クラスターを作成する際に、次のパラメーターを設定します:

      • Optional Services:JindoData と Phoenix を除くすべてのサービスを選択します。

      • HBase Storage Mode[OSS-HDFS] を選択します。

      • [Root Directory]: HDFS サービスが有効になっている OSS バケットを oss://${OSS-HDFS_ENDPOINT}/${DIR} 形式で指定します。 例: oss://test_bucket.cn-hangzhou.oss-dls.aliyuncs.com/hbase。

      説明

      次のプレースホルダーを置き換えてください:

      • ${OSS-HDFS_ENDPOINT}:手順 2 で取得した OSS-HDFS エンドポイント。

      • ${DIR}:HBase のルートディレクトリ。

    2. HBase テーブルを作成します。

      1. DataServing クラスターにログインします。詳細については、「クラスターへのログイン」をご参照ください。

      2. 次のコマンドを実行して HBase シェルを起動します:

        hbase shell
      3. 次のコマンドを実行して、テストテーブル bar を、列ファミリー f で作成します:

        create 'bar','f'

        テーブルを作成した後、list コマンドを実行してテーブルを表示できます。

        出力例:

        TABLE
        bar
        1 row(s)
        Took 0.0138 seconds
    3. HBase シェルを終了し、次のコマンドを実行して、テーブルデータが OSS-HDFS に保存されていることを確認します。

      構文:

      hadoop fs -ls oss://${OSS-HDFS_ENDPOINT}/${DIR}

      例:

      hadoop fs -ls oss://test_bucket.cn-hangzhou.oss-dls.aliyuncs.com/hbase/data/default

      次のような出力は、HBase テーブルのディレクトリが OSS-HDFS に作成されたことを示します:

      Found 1 items
      drwxrwxrwx   - hbase supergroup          0 2022-07-28 14:45 oss://test_bucket.cn-hangzhou.oss-dls.aliyuncs.com/hbase/data/default/bar
  4. 任意: クラスターを終了して復元する。

    OSS-HDFS はコンピューティングとストレージを分離するため、元のクラスターを終了し、同じ OSS-HDFS ディレクトリから同じデータを読み取る新しいクラスターを作成できます。

    重要
    • 新しいクラスターと元のクラスターは、同じバージョンの HBase を使用する必要があります。バージョンの不一致は、予期せぬ互換性の問題を引き起こし、新しいクラスターが使用できなくなる可能性があります。hbase version

    • 複数のクラスターから同時に書き込みを行うと、メタデータまたはデータの不整合を引き起こし、データが破損してクラスターが利用できなくなる可能性があります。

    1. DataServing クラスターにログインします。詳細については、「クラスターにログインする」をご参照ください。

    2. HBase シェルを起動します。

      hbase shell
    3. flush コマンドを実行して、テーブルのすべてのインメモリデータを HFile に書き込みます。

      flush 'bar'
    4. テーブルで disable コマンドを実行し、新しいデータの書き込みを禁止します。

      disable 'bar'
    5. 新しいクラスターを作成します。そのクラスターが元のクラスターと同じ HBase バージョンであることを確認し、ストレージバックエンドとして同じ OSS-HDFS ディレクトリを使用するように設定します。

      HBase new

      新しいクラスターは OSS-HDFS からデータを自動的に復元し、使用できる状態になります。