OSS-HDFS (JindoFS サービス) は Hadoop 分散ファイルシステム (HDFS) API と互換性があります。これにより、E-MapReduce (EMR) クラスター上の HBase は、データファイルと先行書き込みログ (WAL) ファイルの両方をローカルディスクではなく OSS に保存できます。これにより、ストレージとコンピューティングが分離され、以下のことが可能になります:
クラスター外で HBase データを永続化し、データを失うことなくクラスターをリリースできます。
ストレージ要件ではなく、コンピューティング要件に合わせてクラスターのサイズを決定できます。
WAL ファイルを OSS-HDFS に保存することで、同じルートディレクトリを指す新しいクラスターで処理中の書き込みを回復できます。
前提条件
開始する前に、以下が準備できていることを確認してください:
EMR V3.42.0 以降、または EMR V5.8.0 以降を実行している EMR クラスター。詳細については、「クラスターの作成」をご参照ください。
OSS-HDFS がアクセス権限が付与された OSS バケットで有効化されています。詳細については、「OSS-HDFS の有効化とアクセス権限の付与」をご参照ください。
OSS-HDFS を使用するための HBase の設定
ステップ 1: EMR クラスターへの接続
EMR コンソールにログインします。 左側のナビゲーションウィンドウで、EMR on ECS をクリックします。
作成した EMR クラスターをクリックします。
[ノード] タブをクリックし、ノードグループの左側にある [
] をクリックします。ECS インスタンスの ID をクリックします。[インスタンス] ページで、インスタンス ID の横にある [接続] をクリックします。
その他の接続方法 (Windows または Linux での SSH キーペアまたは SSH パスワード) については、「クラスターへのログイン」をご参照ください。
ステップ 2: HBase ルートディレクトリの OSS-HDFS への設定
hbase-site 構成ファイルで、hbase.rootdir をバケットの OSS-HDFS パスに設定します:
hbase.rootdir = oss://<bucket-name>.<endpoint>/<hbase-root-dir>プレースホルダーを実際の値に置き換えます:
| プレースホルダー | 説明 | 例 |
|---|---|---|
<bucket-name> | OSS-HDFS が有効になっている OSS バケットの名前 | my-hbase-bucket |
<endpoint> | バケットのリージョンに対応する OSS-HDFS エンドポイント | — |
<hbase-root-dir> | バケット内の HBase ルートディレクトリのパス | hbase-root |
変更後、HBase は WAL ファイルを OSS-HDFS に書き込みます。
クラスターをリリースする前に、すべての HBase テーブルを無効にし、WAL ファイルに対して実行されたすべての更新操作が HFile に同期されていることを確認して、データ損失を回避してください。