Amazon EMR の先行書き込みログ (WAL) - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon EMR の先行書き込みログ (WAL)

Amazon EMR 6.15 以降では、Amazon EMR WAL に Apache HBase 先行書き込みログ (WAL) を書き込むことができます。Amazon EMR の以前のリリースでは、[HBase on Amazon S3] オプションを使用してクラスターを作成すると、WAL はクラスターのローカルディスクに保存される唯一の Apache HBase コンポーネントであり、ルートディレクトリ、ストアファイル (HFiles)、テーブルメタデータ、Amazon S3 上のデータなどの他のコンポーネントを保存できます。

Amazon EMR WAL を使用して、Amazon S3 にフラッシュされなかったデータを復元できます。HBase クラスターを完全にバックアップするには、Amazon EMR WAL サービスの使用をオプトインします。バックグラウンドで、RegionServer は HBase 先行書き込みログ (WAL) を Amazon EMR の WAL に書き込みます。

クラスターまたは AZ が異常または使用できなくなった場合は、新しいクラスターを作成し、同じ S3 ルートディレクトリと Amazon EMR WAL ワークスペースにポイントし、数分以内に WAL でデータを自動的に復元できます。詳細については、「Amazon EMR WAL からの復元」を参照してください。

Amazon EMR リリース 7.3.0 以降では、Amazon EMR はサーバーごとに複数の EMR WAL を作成し、複数の HBase リージョンを 1 つの Amazon EMR WAL にグループ化します。これにより、Apache HBase WAL が強化され、ログ使用率が向上し、コストが最適化されます。HBase RegionServer あたりの Amazon EMR WAL インスタンスの数を設定するには、hbase.wal.regiongrouping.numgroups パラメータを使用します。デフォルトでは、このパラメータは 2 に設定されます。WAL グループに含まれていないシステムテーブルは、metamasterstore の 2 つです。これらのテーブルは常に独自の WALsを使用します。

Amazon EMR 7.3.0 より前のリリースを実行する場合は、古い HBase クラスターのテーブルを手動で無効にして、Amazon EMR WAL 内のすべてのデータが Amazon S3 にフラッシュされることを確認することをお勧めします。次に、古い Amazon EMR WAL を削除し、古いクラスターを終了して、最新のリリースを実行する新しいクラスターを設定します。問題が発生し、古いクラスターのテーブルを無効にできない場合は、古いクラスターを直接終了し、新しいクラスターで emr.wal.multiplex.migratetrue に設定できます。true に設定すると、HBase は HBase リージョン初期化中に古い Amazon EMR WAL インスタンスからデータを再生しようとし、再生後に古い WAL を削除します。この再生プロセスでは、読み取りに追加のコストが発生します。移行後は、クラスターを設定し、emr.wal.multiplex.migratefalse に設定することをお勧めします。または、パラメータを削除して HBase リージョンの初期化を高速化することもできます。

注記

Amazon EMR WAL は、HBase がフラッシュした後にデータを削除します。HBase がデータをフラッシュしない場合、Amazon EMR WAL はデータを最大 30 日間保持します。30 日後、Amazon EMR WAL は自動的にデータを削除します。Amazon EMR は、EMR クラスターを終了してから最大 30 日間 WAL インスタンスを保持します。ただし、30 日以内に同じ S3 ルートディレクトリから新しい WAL 対応クラスターを起動した場合、Amazon EMR は以前のクラスターからどの WAL インスタンスも削除しません。詳細については、「Amazon EMR WAL からの復元」を参照してください。

以下のセクションでは、HBase 対応 EMR クラスターで Amazon EMR WAL をセットアップして使用する方法について説明します。