

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

# Apache HBase
<a name="emr-hbase"></a>

[HBase](https://aws.amazon.com/elasticmapreduce/details/hbase/) は、Apache Software Foundation の Hadoop プロジェクトの一部として開発されたオープンソースの、非リレーショナルな、分散型データベースです。HBase は、Hadoop Distributed File System (HDFS) 上で実行され、Hadoop エコシステムの非リレーショナルデータベース機能を提供します。HBase は、Amazon EMR リリースバージョン 4.6.0 以降に含まれています。

HBase は、Hadoop のファイルシステムを共有して、MapReduce フレームワークおよび実行エンジンに対する直接入力および出力として機能することで、Hadoop とシームレスに連携します。また、HBase テーブルに対する SQL のようなクエリ、Hive ベースのテーブルとの結合、および Java Database Connectivity（JDBC）を有効にすることで、Apache Hive とも統合されます。HBase の詳細については、Apache ウェブサイトで [Apache HBase](https://hbase.apache.org/) および [HBase ドキュメント](http://hbase.apache.org/book.html)を参照してください。Hive で HBase を使用する方法の例については、 AWS Big Data Blog の投稿[「Buin NoSQL and massively parallel analytics using Apache HBase and Apache Hive on Amazon EMR](https://aws.amazon.com/blogs/big-data/combine-nosql-and-massively-parallel-analytics-using-apache-hbase-and-apache-hive-on-amazon-emr/)」を参照してください。

Amazon EMR の HBase では、HBase データを Amazon Simple Storage Service (Amazon S3) に直接バックアップできます。また、HBase クラスターの起動時に以前作成したバックアップから復元できます。Amazon EMR には、データ保持と災害対策の目的で Amazon S3 と統合する追加オプションがあります。
+ **Amazon S3 の HBase** - Amazon EMR バージョン 5.2.0 以降では、Amazon S3 で HBase を使用して、クラスターの HBase ルートディレクトリとメタデータを直接 Amazon S3 に保存できます。その後に起動した新しいクラスターでは、Amazon S3 のルートディレクトリの場所を参照できます。一度に 1 つのクラスターのみが Amazon S3 の HBase の場所を使用できます (リードレプリカクラスターを除く)。詳細については、「[Amazon S3 の HBase (Amazon S3 ストレージモード)](emr-hbase-s3.md)」を参照してください。
+ **HBase リードレプリカ** – Amazon S3 の HBase で使用する Amazon EMR バージョン 5.7.0 以降では、リードレプリカクラスターがサポートされます。リードレプリカクラスターは、プライマリクラスターのストアファイルおよびメタデータの読み取り専用オペレーションに対して読み取り専用アクセスを提供します。詳細については、「[リードレプリカクラスターの使用](emr-hbase-s3.md#emr-hbase-s3-read-replica)」を参照してください。
+ **HBase スナップショット** – Amazon S3 の HBase の代わりに、EMR バージョン 4.0 以降では HBase データのスナップショットを直接 Amazon S3 に作成し、このスナップショットを使用してデータを復元できます。詳細については、「[HBase のスナップショットを使用する](emr-hbase-snapshot.md)」を参照してください。

**重要**  
Amazon EMR HBase クラスタースケーリングでは、[マネージドスケーリング](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-scaling.html)や [HBase クラスターでのカスタムポリシーによるスケーリング](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html)の使用はお勧めしません。

次の表は、Amazon EMR 7.x シリーズの最新リリースに含まれている HBase のバージョンと、Amazon EMR で HBase と共にインストールされるコンポーネントを示しています。

このリリースで HBase と共にインストールされるコンポーネントのバージョンについては、[「リリース 7.12.0 コンポーネントバージョン](emr-7120-release.md)」を参照してください。


**emr-7.12.0 の HBase バージョン情報**  

| Amazon EMR リリースラベル | HBase バージョン | HBase でインストールされるコンポーネント | 
| --- | --- | --- | 
| emr-7.12.0 | HBase 2.6.2-amzn-3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-hdfs-zkfc, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 

次の表は、Amazon EMR 6.x シリーズの最新リリースに含まれている HBase のバージョンと、Amazon EMR で HBase と共にインストールされるコンポーネントを示しています。

このリリースで HBase と共にインストールされるコンポーネントのバージョンについては、「[リリース 6.15.0 コンポーネントバージョン](emr-6150-release.md)」を参照してください。


**emr-6.15.0 の HBase バージョン情報**  

| Amazon EMR リリースラベル | HBase バージョン | HBase でインストールされるコンポーネント | 
| --- | --- | --- | 
| emr-6.15.0 | HBase 2.4.17-amzn-3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 

**注記**  
Apache HBase HBCK2 は、HBase のリージョンとシステムテーブルを修復するための別個の運用ツールです。Amazon EMR バージョン 6.1.0 以降では、hbase-hbck2.jar はプライマリノードの `/usr/lib/hbase-operator-tools/` で提供されています。このツールのビルドと使用の詳しい方法については、「[HBase HBCK2](https://github.com/apache/hbase-operator-tools/tree/master/hbase-hbck2)」を参照してください。

次の表は、Amazon EMR 5.x シリーズの最新リリースに含まれている HBase のバージョンと、Amazon EMR で HBase と共にインストールされるコンポーネントを示しています。

このリリースで HBase と共にインストールされるコンポーネントのバージョンについては、「[Release 5.36.2 Component Versions](emr-5362-release.md)」を参照してください。


**emr-5.36.2 の HBase バージョン情報**  

| Amazon EMR リリースラベル | HBase バージョン | HBase でインストールされるコンポーネント | 
| --- | --- | --- | 
| emr-5.36.2 | HBase 1.4.13 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 

**Topics**
+ [HBase を使用するクラスターの作成](emr-hbase-create.md)
+ [Amazon S3 の HBase (Amazon S3 ストレージモード)](emr-hbase-s3.md)
+ [Amazon EMR の先行書き込みログ (WAL)](emr-hbase-wal.md)
+ [HBase シェルを使用する](emr-hbase-connect.md)
+ [Hive で HBase テーブルにアクセスする](emr-hbase-access-hive.md)
+ [HBase のスナップショットを使用する](emr-hbase-snapshot.md)
+ [HBase を設定する](emr-hbase-configure.md)
+ [HBase ユーザーインターフェイスを表示する](hbase-web-ui.md)
+ [HBase ログファイルを表示する](emr-hbase-log-files.md)
+ [Ganglia で HBase を監視する](emr-hbase-ganglia.md)
+ [Amazon CloudWatch で EMR HBase のイベントのモニタリング](emr-hbase-cw.md)
+ [HBase の以前のバージョンからの移行](emr-hbase-migrate.md)
+ [HBase リリース履歴](HBase-release-history.md)

# HBase を使用するクラスターの作成
<a name="emr-hbase-create"></a>

このセクションの手順では、 AWS マネジメントコンソール と を使用してクラスターを起動する基本について説明します AWS CLI。Amazon EMR クラスターの計画、構成、起動方法の詳細については、「*Amazon EMR 管理ガイド*」の「[Plan and configure clusters](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan.html)」を参照してください。

## コンソールを使用して HBase を含むクラスターを作成する
<a name="emr-hbase-create-console"></a>

コンソールを使用してクラスターを起動する簡単な手順については、「*Amazon EMR 管理ガイド*」の「[Amazon EMR の使用開始](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-gs)」を参照してください。

**コンソールを使用し、HBase がインストールされた状態でクラスターを作成するには**

**

1. [https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr/) で Amazon EMR コンソールを開きます。

1. [**Create cluster (クラスターの作成)**]、[**Go to advanced options (詳細オプションに移動する)**] の順に選択します。

1. [**Software Configuration (ソフトウェア設定)**] で、**Amazon リリースバージョン** 4.6.0 以降を選択します (最新バージョンをお勧めします)。必要に応じて、**HBase** などのアプリケーションを選択します。

1. Amazon EMR バージョン 5.2.0 以降の **[HBase Storage Settings]** (HBase ストレージ設定) で、**[HDFS]** または **[S3]** を選択します。詳細については、「[Amazon S3 の HBase (Amazon S3 ストレージモード)](emr-hbase-s3.md)」を参照してください。

1.  必要に応じて他のオプションを選択し、[**Create cluster (クラスターの作成)**] を選択します。

## を使用して HBase でクラスターを作成する AWS CLI
<a name="emr-hbase-cli"></a>

HBase がインストールされた状態でクラスターを作成するには、次のコマンドを使用します。

```
aws emr create-cluster --name "Test cluster" --release-label emr-7.12.0 \
--applications Name=HBase --use-default-roles --ec2-attributes KeyName=myKey \
--instance-type m5.xlarge --instance-count 3
```

**注記**  
読みやすくするために、Linux 行連続文字 (\$1) が含まれています。Linux コマンドでは、これらは削除することも、使用することもできます。Windows の場合、削除するか、キャレット (^) に置き換えてください。

Amazon S3 で HBase を使用する場合は、JSON 設定オブジェクトを参照する `--configurations` オプションを指定します。設定オブジェクトには、`hbase.rootdir` プロパティを使用して HBase データが格納された Amazon S3 内の場所を指定する `hbase-site` 分類が含まれている必要があります。また、`hbase` プロパティを使用して `s3` を指定する `hbase.emr.storageMode` 分類が含まれている必要があります。以下の例では、これらの設定を使用した JSON スニペットについて説明します。

```
 1. [
 2.     {
 3.         "Classification": "hbase-site",
 4.         "Properties": {
 5.             "hbase.rootdir": "s3://amzn-s3-demo-bucket/MyHBaseStore"
 6.         }
 7.     },
 8.     {
 9.         "Classification": "hbase",
10.         "Properties": {
11.             "hbase.emr.storageMode": "s3"
12.         }
13.     }
14. ]
```

Amazon S3 の HBase の詳細については、「[Amazon S3 の HBase (Amazon S3 ストレージモード)](emr-hbase-s3.md)」を参照してください。分類の詳細については、[アプリケーションの設定](emr-configure-apps.md) を参照してください。

# Amazon S3 の HBase (Amazon S3 ストレージモード)
<a name="emr-hbase-s3"></a>

Amazon EMR バージョン 5.2.0 以降で HBase を実行する場合は、Amazon S3 で HBase を有効にすることで、以下の利点を得られます。
+ HBase ルートディレクトリが、HBase ストアファイルおよびテーブルメタデータも含めて、Amazon S3 に保存されます。このデータはクラスター外で永続的で、Amazon EC2 アベイラビリティーゾーン間で使用することができ、スナップショットやそのほかの方法を使用して復元する必要はありません。
+ Amazon S3 に格納したファイルを使用して、HDFS の 3 倍のレプリケーションで、データ要件ではなくコンピューティング要件に合わせて Amazon EMR クラスターのサイズを決定できます。
+ Amazon EMR バージョン 5.7.0 以降では、リードレプリカクラスターを設定して、データの読み取り専用コピーを Amazon S3 に保持できます。複数の読み取りオペレーションを同時に実行する場合や、プライマリクラスターが使用不能になった場合に、リードレプリカクラスターのデータを利用できます。
+ Amazon EMR バージョン 6.2.0〜7.3.0 では、永続的 HFile トラッキングは `hbase:storefile` と呼ばれる HBase システムテーブルを使用し、読み取りオペレーションに使用される HFile パスを直接追跡します。この機能はデフォルトで有効になっており、手動マイグレーションを実行する必要はありません。7.3.0 以上のバージョンでは、HFile パスはファイルトラッカーを使用して追跡され、HFile パスはストアディレクトリ内のメタファイルに直接保存されます。

**注記**  
7.4.0 より前のバージョンの Amazon EMR を使用していて、EMR-7.4.0 以降に移行するユーザーは、「[Migrating from previous HBase versions](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hbase-migrate.html)」を参照し、利用可能なアップグレードドキュメントに従ってスムーズに移行してください。

次の図は Amazon S3 の HBase に関連する HBase コンポーネントを示しています。

![\[Amazon S3 アーキテクチャ上の HBase。\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ReleaseGuide/images/hbase_s3.png)


## Amazon S3 での HBase の有効化
<a name="emr-hbase-s3-enable"></a>

Amazon EMR コンソール、、または Amazon EMR API を使用して AWS CLI、Amazon S3 で HBase を有効にできます。この設定は、クラスター作成時のオプションです。コンソールを使用する場合は、[**Advanced options (詳細オプション)**] を使用して設定を選択します。 AWS CLIを使用する場合は、`--configurations `オプションを使用して JSON 設定オブジェクトを提供します。設定オブジェクトのプロパティは Amazon S3 内のストレージモードとルートディレクトリの場所を指定します。Amazon S3 の場所として Amazon EMR クラスターと同じリージョン内の場所を指定する必要があります。一度に 1 つのアクティブなクラスターのみが Amazon S3 の同じ HBase ルートディレクトリを使用できます。を使用したコンソールの手順と詳細な create-cluster の例については AWS CLI、「」を参照してください[HBase を使用するクラスターの作成](emr-hbase-create.md)。設定オブジェクトの例は、次の JSON スニペットに示します。

```
{
  "Classification": "hbase-site",
  "Properties": {
    "hbase.rootdir": "s3://amzn-s3-demo-bucket/my-hbase-rootdir"}
},
{
  "Classification": "hbase",
  "Properties": {
  "hbase.emr.storageMode":"s3"
  }
}
```

**注記**  
Amazon S3 バケットを HBase 用の `rootdir` として使用する場合、Amazon S3 URI の末尾にスラッシュを追加する必要があります。例えば、問題を回避するために、`"hbase.rootdir: s3://amzn-s3-demo-bucket"` ではなく、`"hbase.rootdir: s3://amzn-s3-demo-bucket/"` を使用する必要があります。

## リードレプリカクラスターの使用
<a name="emr-hbase-s3-read-replica"></a>

Amazon S3 の HBase を使用してプライマリクラスターを設定すると、プライマリクラスターと同じデータへの読み取り専用アクセスを提供するリードレプリカクラスターを作成して設定できます。これは、クエリデータに同時にアクセスする場合や、プライマリクラスターの使用不能時にアクセスを絶やさない場合に便利です。リードレプリカ機能は Amazon EMR バージョン 5.7.0 以降で使用できます。

プライマリクラスターとリードレプリカクラスターは 1 つの重要な点を除いて設定方法が同じです。どちらも同じ `hbase.rootdir` の場所を参照します。ただし、リードレプリカクラスターの `hbase` 分類には `"hbase.emr.readreplica.enabled":"true"` プロパティが含まれます。

リードレプリカクラスターは読み取り専用オペレーション用に設計されており、手動圧縮や書き込みアクションは実行しないでください。7.4.0 より前の Amazon EMR バージョンでは、リードレプリカ機能を有効にする時に、リードレプリカクラスターの圧縮を無効にすることをお勧めします。この注意が必要なのは、プライマリクラスターで永続的な HFile 追跡機能が有効になっている場合、リードレプリカクラスターがシステムテーブルを圧縮し、プライマリクラスターで FileNotFoundException が発生する可能性があるためです。リードレプリカクラスターで圧縮を無効にすることにより、プライマリクラスターとリードレプリカクラスター間のデータの不整合を防ぐことができます。

例えば、このトピックで以前に示したプライマリクラスターの JSON 分類の場合、7.4.0 より前の EMR バージョンリードレプリカクラスターの設定は次のとおりです。

```
{
  "Classification": "hbase-site",
  "Properties": {
    "hbase.rootdir": "s3://amzn-s3-demo-bucket/my-hbase-rootdir",
    "hbase.regionserver.compaction.enabled": "false"			
  }
},
{
  "Classification": "hbase",
  "Properties": {
  "hbase.emr.storageMode":"s3",
  "hbase.emr.readreplica.enabled":"true"
  }
}
```

7.3.0 以降の Amazon EMR バージョンでは、この [ストアファイル追跡](#emr-hbase-store-file-tracking) 機能を使用するため、圧縮を無効にする必要はありません。

### データの追加に伴うリードレプリカの同期化
<a name="w2aac33c37c15c14"></a>

リードレプリカは、プライマリクラスターが Amazon S3 に書き込む HBase StoreFile とメタデータを使用するため、Amazon S3 データストアと同期し、それより最新にはなりません。データを書き込むまでにプライマリクラスターとリードレプリカの間に生じる時間差を最小化するには、以下のガイダンスを参考にしてください。
+ 可能な限り、プライマリクラスターのデータを一括ロードします。詳細については、Apache HBase ドキュメントの「[一括ロード](http://hbase.apache.org/0.94/book/arch.bulk.load.html)」を参照してください。
+ ストアファイルを Amazon S3 に書き込むフラッシュは、データの追加後、できるだけ早急に発生する必要があります。時間差が最小になるように手動でフラッシュするか、フラッシュ設定を調整します。
+ 圧縮が自動実行される場合、圧縮がトリガーされるときの不整合を避けるために手動圧縮を実行します。
+ リードレプリカクラスターで、メタデータの変更 (HBase リージョンの分割、圧縮の発生、テーブルの追加や削除など) があった場合、`refresh_meta` コマンドを実行します。
+ リードレプリカクラスターで、レコードがテーブルに追加されるかテーブル内で変更された場合、`refresh_hfiles` コマンドを実行します。

![\[HBase リードレプリカとのデータの同期化\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ReleaseGuide/images/hbase-read-replica.png)


## 永続的 HFile トラッキング
<a name="emr-hbase-s3-hfile-tracking"></a>

永続的 HFile トラッキングでは、`hbase:storefile` と呼ばれる HBase システムテーブルを使用し、読み取りオペレーションに使用される HFile パスを直接追跡します。HBase に追加のデータが追加されると、新しい HFile パスがテーブルに追加されます。これにより、重要な書き込みパス HBase オペレーションのコミットメカニズムとして名前変更オペレーションが削除され、ファイルシステムディレクトリの一覧ではなく、`hbase:storefile` システムテーブルから読み取ることで HBase リージョンを開くときに復旧時間が改善されます。この機能は Amazon EMR バージョン 6.2.0〜7.3.0 ではデフォルトで有効になっており、手動での移行手順は不要です。

**注記**  
HBase ストアファイルシステムテーブルを使用した永続的な HFile トラッキングは、HBase リージョンのレプリケーション機能をサポートしていません。HBase リージョンレプリケーションの詳細については、「[Timeline-consistent high available reads](http://hbase.apache.org/book.html#arch.timelineconsistent.reads)」を参照してください。

**永続的 HFile トラッキングの無効化**

永続的 HFile トラッキングは、Amazon EMR リリース 6.2.0 以降でデフォルトで有効になっています。永続的 HFile トラッキングを無効にするには、クラスターの起動時に次の設定オーバーライドを指定します。

```
{
  "Classification": "hbase-site",
  "Properties": {
    "hbase.storefile.tracking.persist.enabled":"false",
    "hbase.hstore.engine.class":"org.apache.hadoop.hbase.regionserver.DefaultStoreEngine"
  }
}
```

**注記**  
Amazon EMR クラスターを再設定するときは、すべてのインスタンスグループを更新する必要があります。

**ストアファイルテーブルの手動同期**

新しい HFile インスタンスが作成されると、ストアファイルテーブルは最新の状態に保たれます。ただし、何らかの理由でストアファイルテーブルがデータファイルと同期しなくなった場合は、以下のコマンドを使用して手動でデータを同期できます。

**オンラインリージョンでストアファイルテーブルを同期する:**

`hbase org.apache.hadoop.hbase.client.example.RefreshHFilesClient <table>`

**オフラインリージョンでストアファイルテーブルを同期する:**
+ ストアファイルテーブル znode を削除します。

  ```
  echo "ls /hbase/storefile/loaded" | sudo -u hbase hbase zkcli
  [<tableName>, hbase:namespace]
  # The TableName exists in the list
  echo "delete /hbase/storefile/loaded/<tableName>" | sudo -u hbase hbase zkcli
  # Delete the Table ZNode
  echo "ls /hbase/storefile/loaded" | sudo -u hbase hbase zkcli
  [hbase:namespace]
  ```
+ リージョンを割り当てます ('hbase shell' で実行します)。

  ```
  hbase cli> assign '<region name>'
  ```
+ 割り当てが失敗した場合。

  ```
  hbase cli> disable '<table name>'
  hbase cli> enable '<table name>'
  ```

**ストアファイルテーブルのスケーリング**

ストアファイルテーブルは、デフォルトでは 4 つのリージョンに分割されます。ストアファイルテーブルの書き込み負荷が大きい場合は、テーブルを手動で分割できます。

特定のホットリージョンを分割するには、次のコマンドを使用します ('hbase shell' で実行します)。

```
hbase cli> split '<region name>'
```

テーブルを分割するには、次のコマンドを使用します ('hbase shell' で実行します)。

```
hbase cli> split 'hbase:storefile'
```

## ストアファイル追跡
<a name="emr-hbase-store-file-tracking"></a>

デフォルトでは、**FileBasedStoreFileTracker** 実装を使用します。この実装により、ストアディレクトリに直接新しいファイルが作成され、名前変更オペレーションが不要になります。コミットされた hfile インスタンスのリストをメモリに保持し、各ストアディレクトリのメタファイルにバックアップされます。新しい hfile がコミットされるたびに、特定のストアで*追跡されたファイル*のリストが更新され、リストの内容を含む新しいメタファイルが書き込まれ、古いリストを含む以前のメタファイルが破棄されます。Store File Tracking の詳細については、「*Apache HBase reference guide*」の「[Store File Tracking](https://hbase.apache.org/book.html#storefiletracking)」を参照してください。

FileBasedStoreFile トラッカーの実装は、Amazon EMR リリース 7.4.0 以降、デフォルトで有効になっています:

```
{
  "Classification": "hbase-site",
  "Properties": {
    hbase.store.file-tracker.impl: "org.apache.hadoop.hbase.regionserver.storefiletracker.FileBasedStoreFileTracker"
   }
}
```

永続的 FileBasedStoreFileTracker 実装を無効にするには、クラスターの起動時に以下の設定オーバーライドを指定します:

```
{
  "Classification": "hbase-site",
  "Properties": {
    hbase.store.file-tracker.impl: "org.apache.hadoop.hbase.regionserver.storefiletracker.DefaultStoreFileTracker"
   }
}
```

**注記**  
Amazon EMR クラスターを再設定するときは、すべてのインスタンスグループを更新する必要があります。

## 運用上の考慮事項
<a name="emr-hbase-s3-performance"></a>

HBase リージョンサーバーは、BlockCache を使用してデータの読み取りをメモリに保存し、BucketCache を使用してデータの読み取りをローカルディスクに保存します。また、リージョンサーバーは、MemStore を使用してデータの書き込みをメモリ内に保存し、Amazon S3 の HBase StoreFile にデータが書き込まれる前に、先書きログを使用してデータの書き込みを HDFS に保存します。クラスターの読み込みパフォーマンスは、レコードがどのくらいの頻度でインメモリキャッシュまたはオンディスクキャッシュから取得できるかに関連しています。キャッシュミスが発生すると、レコードは Amazon S3, の StoreFile から読み取られるため、HDFS からの読み取りと比べてレイテンシーと標準偏差が大幅に高くなります。さらに、Amazon S3 の最大要求率は、ローカルキャッシュから受理できるものよりも低くなるため、データのキャッシュは読み取り過多のワークロードにとって重要である場合があります。Amazon S3 のパフォーマンスの詳細については、「*Amazon Simple Storage Service ユーザーガイド*」の「[パフォーマンスの最適化](https://docs.aws.amazon.com/AmazonS3/latest/userguide/PerformanceOptimization.html)」を参照してください。

パフォーマンスを向上させるには、EC2 インスタンスストレージに可能な限りデータセットをキャッシュすることをお勧めします。BucketCache は、リージョンサーバーの EC2 インスタンスストレージを使用するため、必要なキャッシュのサイズに対応するために充分なインスタンスストアを備えた EC2 インスタンスタイプを選択し、Amazon EBS ストレージを追加できます。`hbase.bucketcache.size` プロパティを使用して、アタッチされたインスタンスストアおよび EBS ボリュームの BucketCache のサイズを増やすことができます。デフォルトの設定は 8,192 MB です。

書き込みでは、マイナーおよびメジャーな圧縮時の MemStore のフラッシュ頻度および StoreFile 数が、リージョンサーバーの応答時間に大きく影響する場合があります。パフォーマンスを最適化するには、MemStore フラッシュと HRegion ブロックを乗じたサイズを増やすことを検討します。これにより、メジャーな圧縮間の経過時間が長くなります。ただし、リードレプリカを使用する場合は、整合性の遅延が増大します。場合によっては、ファイルブロックサイズを増やして (ただし 5 GB 未満)、EMRFS で Amazon S3 マルチパートアップロード機能をトリガーすることで、パフォーマンスを向上できる場合があります。Amazon EMR のブロックサイズのデフォルトは 128 MB です。詳細については、「[HDFS 構成](emr-hdfs-config.md)」を参照してください。フラッシュと圧縮に関するパフォーマンスのベンチマークで 1 GB のブロックサイズを超えているお客様はほとんどいません。また、圧縮する StoreFile の数が少ないほど、HBase 圧縮およびリージョンサーバーのパフォーマンスが最適化されます。

大きなディレクトリの名前を変更する必要があるため、Amazon S3 でのテーブルの削除に長い時間がかかる場合があります。テーブルを削除する代わりに無効化することを検討してください。

古い WAL ファイルとストアファイルをクリーンアップする HBase クリーナープロセスがあります。Amazon EMR リリースバージョン 5.17.0 以降では、クリーナーがグローバルに有効になっており、次の設定プロパティをクリーナーの動作の制御に使用できます。


| 設定プロパティ | デフォルトの値 | 説明 | 
| --- | --- | --- | 
|  `hbase.regionserver.hfilecleaner.large.thread.count`  |  1  |  期限が切れた大規模な HFiles をクリーンアップするために割り当てられたスレッドの数。  | 
|  `hbase.regionserver.hfilecleaner.small.thread.count`  |  1  |  期限が切れた小規模な HFiles をクリーンアップするために割り当てられたスレッドの数。  | 
|  `hbase.cleaner.scan.dir.concurrent.size`  |  すべての使用可能なコアの 4 分の 1 に設定します。  |  oldWALs ディレクトリをスキャンするスレッドの数。  | 
|  `hbase.oldwals.cleaner.thread.size`  |  2  |  oldWALs ディレクトリの WALs をクリーンアップするスレッドの数。  | 

Amazon EMR 5.17.0 以前では、高負荷のワークロードを実行しているときにクリーナーオペレーションがクエリパフォーマンスに影響する可能性があるため、ピークを過ぎた時間帯だけクリーナーを有効にすることをお勧めします。クリーナーには、次の HBase シェルコマンドがあります。
+ `cleaner_chore_enabled` クリーナーが有効かどうかのクエリ。
+ `cleaner_chore_run` 手動でクリーナーを実行してファイルを削除します。
+ `cleaner_chore_switch` クリーナーを有効、または無効にし、クリーナーの以前の状態に返します。たとえば、`cleaner_chore_switch true` はクリーナーを有効にします。

### Amazon S3 の HBase のパフォーマンスをチューニングするプロパティ
<a name="emr-hbase-s3-properties"></a>

Amazon S3 の HBase を使用するときに、以下のパラメータを調整してワークロードのパフォーマンスをチューニングできます。


| 設定プロパティ | デフォルトの値 | 説明 | 
| --- | --- | --- | 
|  `hbase.bucketcache.size`  |  8,192  |  ディスク容量 (MB)、リージョンサーバー Amazon EC2 インスタンスストアおよび BucketCache ストレージの EBS ボリュームにリザーブ。設定は、すべてのリージョンサーバーインスタンスに適用されます。BucketCache の大きなサイズは一般的にパフォーマンスの向上に対応します  | 
|  `hbase.hregion.memstore.flush.size`  |  134217728  |  Amazon S3 への Memstore フラッシュがトリガーされるデータ上限 (バイト単位)。  | 
|  `hbase.hregion.memstore.block.multiplier`  |  4  |  更新がブロックされる MemStore の上限を決定する乗数。MemStore がこの値で乗算されて `hbase.hregion.memstore.flush.size` を超えると、更新はブロックされます。MemStore のフラッシュと圧縮が発生して、更新をブロックしない場合もあります。  | 
|  `hbase.hstore.blockingStoreFiles`  |  10  |  更新がブロックされるまでストアに存在できる StoreFile の最大数。  | 
|  `hbase.hregion.max.filesize`  |  10737418240  |  リージョンが分割されるまでのリージョンの最大サイズ。  | 

### データ損失のないクラスターのシャットダウンと復元
<a name="emr-hbase-s3-shutdown"></a>

Amazon S3 に書き込まれていないデータを損失することなく Amazon EMR クラスターをシャットダウンするには、MemStore キャッシュを Amazon S3 にフラッシュして新しい格納ファイルを書き込む必要があります。まず、すべてのテーブルを無効にする必要があります。次の設定ステップはクラスターにステップを追加する際に使用することができます。詳細については「*Amazon EMR 管理ガイド*」の「[AWS CLI およびコンソールを使用した手順の作業](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-work-with-steps.html)」を参照してください。

```
Name="Disable all tables",Jar="command-runner.jar",Args=["/bin/bash","/usr/lib/hbase/bin/disable_all_tables.sh"]	
```

または、次の Bash コマンドを直接実行できます。

```
bash /usr/lib/hbase/bin/disable_all_tables.sh
```

すべてのテーブルを無効にした後に、HBase シェルと次のコマンドを使用して `hbase:meta` テーブルをフラッシュします。

```
flush 'hbase:meta'
```

次に、Amazon EMR クラスターで提供されているシェルスクリプトを実行して、MemStore キャッシュをフラッシュすることができます。これをステップとして追加するか、またはクラスター上の AWS CLIを使用して直接実行できます。このスクリプトは、各リージョンサーバーの MemStore が Amazon S3 にフラッシュする原因となるすべての HBase テーブルを無効にします。スクリプトが正常に完了すると、データは Amazon S3 に維持され、クラスターを終了できます。

同じ HBase データを持つクラスターを再起動するには、 AWS マネジメントコンソール または `hbase.rootdir`設定プロパティを使用して、前のクラスターと同じ Amazon S3 の場所を指定します。

# Amazon EMR の先行書き込みログ (WAL)
<a name="emr-hbase-wal"></a>

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 からの復元](emr-hbase-wal-restoring.md)」を参照してください。

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 グループに含まれていないシステムテーブルは、*meta* と *masterstore* の 2 つです。これらのテーブルは常に独自の WAL を使用します。

Amazon EMR 7.3.0 より前のリリースを実行する場合は、古い HBase クラスターのテーブルを手動で無効にして、Amazon EMR WAL 内のすべてのデータが Amazon S3 にフラッシュされることを確認することをお勧めします。次に、古い Amazon EMR WAL を削除し、古いクラスターを終了して、最新のリリースを実行する新しいクラスターを設定します。問題が発生し、古いクラスターのテーブルを無効にできない場合は、古いクラスターを直接終了し、新しいクラスターで `emr.wal.multiplex.migrate` を `true` に設定できます。true に設定すると、HBase は HBase リージョン初期化中に古い Amazon EMR WAL インスタンスからデータを再生しようとし、再生後に古い WAL を削除します。この再生プロセスでは、読み取りに追加のコストが発生します。移行後は、クラスターを設定し、`emr.wal.multiplex.migrate` を `false` に設定することをお勧めします。または、パラメータを削除して 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 からの復元](emr-hbase-wal-restoring.md)」を参照してください。

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

**Topics**
+ [Amazon EMR WAL ワークスペース](emr-hbase-wal-workspaces.md)
+ [Amazon EMR WAL に必要なアクセス許可](emr-hbase-wal-permissions.md)
+ [Amazon EMR WAL の有効化](emr-hbase-wal-enabling.md)
+ [Amazon EMR WAL からの復元](emr-hbase-wal-restoring.md)
+ [Amazon EMR WAL でのセキュリティ設定の使用](emr-hbase-wal-security.md)
+ [経由で Amazon EMR WAL にアクセスする AWS PrivateLink](emr-hbase-wal-privatelink.md)
+ [Amazon EMR WAL の料金とメトリクスについて](emr-hbase-wal-metrics.md)
+ [WAL ワークスペースのタグ付け](emr-hbase-wal-tagging.md)
+ [EMR WAL クラスター間レプリケーション](emr-hbase-wal-cross-cluster.md)
+ [Amazon EMR WAL の考慮事項とリージョン](emr-hbase-wal-considerations.md)
+ [Amazon EMR WAL (EMRWAL) CLI リファレンス](emrwalcli-ref.md)

# Amazon EMR WAL ワークスペース
<a name="emr-hbase-wal-workspaces"></a>

Amazon EMR WAL は WAL ワークスペースの概念を追加します。*WAL ワークスペース*は、WAL の論理コンテナです。Amazon EMR WAL の各先行書き込みログは、WAL ワークスペースによってカプセル化されます。EMR クラスターは、クラスターの起動時に設定した 1 つの WAL ワークスペースに WAL を書き込むか、ワークスペースを指定しない場合は `defaultWALworkspace` に書き込みます。WAL ワークスペースは、名前空間などの既存の HBase 用語には関連していません。

WAL ワークスペースを使用して Amazon EMR WAL IAM アクセス許可の範囲を縮小し、クラスターがアクセスする必要があるワークスペースのみを含めることができます。また、WAL ワークスペースにタグを付け、タグベースのアクセス制御を行うこともできます。タグ付けの詳細については、「[WAL ワークスペースのタグ付け](emr-hbase-wal-tagging.md)」を参照してください。

![\[HBase architecture diagram showing write request flow through RegionServers, MemStore, and data storage.\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ReleaseGuide/images/wal-new.png)


# Amazon EMR WAL に必要なアクセス許可
<a name="emr-hbase-wal-permissions"></a>

クラスターを Amazon EMR WAL に接続するには、クラスターのインスタンスプロファイルに特定の IAM アクセス許可が必要です。
+ Amazon EMR WAL は、サービスにリンクされたロール [https://docs.aws.amazon.com/emr/latest/ManagementGuide/using-service-linked-roles-wal.html](https://docs.aws.amazon.com/emr/latest/ManagementGuide/using-service-linked-roles-wal.html) を使用してクラスターステータスを取得します。Amazon EMR は、WAL ワークスペースを作成するときにこのサービスにリンクされたロールを自動的に作成します。または、Amazon EMR WAL のワークスペースを設定したときにサービスにリンクされたロールがまだ存在しない場合は、HBase がサービスにリンクされたロールを作成します。

  クラスターで Amazon EMR WAL を有効にする前に、サービスにリンクされたロール AWSServiceRoleForEMRWAL の自動作成を許可するアクセス許可を設定する必要があります。この機能を追加する詳細とステートメントの例については、「[Using service-linked roles for write-ahead logging](https://docs.aws.amazon.com/emr/latest/ManagementGuide/using-service-linked-roles-wal.html#using-service-linked-roles-permissions-wal)」を参照してください。
+ Amazon EMR WAL は HBase Write Ahead Log (WAL) を使用するため、クラスターは HBase WAL を使用する必要があります。以下は、HBase を実行するために必要な最小限の IAM アクセス許可です。これらをインスタンスプロファイルのアクセス許可ポリシーに追加します。

  ```
  emrwal:DeleteWal
  emrwal:CreateWal
  emrwal:CreateWorkspace
  emrwal:AppendEdit
  emrwal:ReplayEdits
  emrwal:GetCurrentWalTime
  emrwal:CompleteWalFlush
  emrwal:ListWALs
  emrwal:DescribeWAL
  emrwal:TrimWAL
  emrwal:ArchiveWAL
  emrwal:ArchiveWALCheckPoint
  ```
**注記**  
Amazon EMR WAL のアクセス許可を最小セットのみに範囲指定する場合、一部の [EMRWAL CLI](emrwalcli-ref.md) コマンドには実行に必要なアクセス許可がありません。

# Amazon EMR WAL の有効化
<a name="emr-hbase-wal-enabling"></a>

 AWS Command Line Interfaceを使用してクラスターを作成するときに Amazon EMR WAL への書き込みを有効にするには、次の手順を実行します。

**注記**  
既に実行中のクラスターに対して Amazon EMR WAL を有効にしたり、同じ S3 ルートディレクトリで 2 つのクラスターを起動したりすることはできません。詳細については、「[Amazon EMR WAL の考慮事項とリージョン](emr-hbase-wal-considerations.md)」を参照してください。

1. Amazon EMR WAL 対応クラスターを作成する前に、クラスターで使用する予定のインスタンスプロファイルに必要なアクセス許可を追加する必要があります。詳細については、「[Amazon EMR WAL に必要なアクセス許可](emr-hbase-wal-permissions.md)」を参照してください。

1.  AWS CLIからクラスターを作成します。以下の例に示すように、`--configurations` オプションを使用して、`hbase.emr.wal.enabled` プロパティを指定する JSON 設定オブジェクトを指定します。
   + Amazon S3 内のストレージモードとルートディレクトリの場所を指定します。指定する Amazon S3 の場所は EMR クラスターと同じリージョンにある必要がありますが、S3 で同時に同じ HBase ルートディレクトリを使用できるアクティブなクラスターは 1 つだけです。
   + インスタンスグループ設定でクラスターを作成します。Amazon EMR WAL をインスタンスフリート設定で使用することはできません。インスタンスグループでクラスターを作成する詳細については、「*Amazon EMR 管理ガイド*」の「[Configure uniform instance groups](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-uniform-instance-group.html)」を参照してください。
   + クラスターを作成するコンソールの手順と、 を使用する詳細な`create-cluster`例については、[HBase を使用したクラスターの作成](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hbase-create.html) AWS CLI」を参照してください。

1. 新しいクラスターの WAL を有効にするには、`hbase.emr.wal.enabled` プロパティを `true` に設定します。次のコマンドには、設定オブジェクトの例を含む JSON スニペットが含まれています。

   ```
   aws emr create-cluster --name "hbasewal" --release-label emr-6.x.y \
   --applications Name=HBase --use-default-roles --ec2-attributes KeyName=myKey \
   --instance-type m6i.xlarge --instance-count 1 --configurations hbase.json
   $cat hbase.json
   [
       {
           "Classification": "hbase-site",
           "Properties": {
               "hbase.rootdir": "s3://amzn-s3-demo-bucket/MyHBaseStore"
           }
       },
       {
           "Classification": "hbase",
           "Properties": {
               "hbase.emr.storageMode": "s3",
               "hbase.emr.wal.enabled": "true"
           }
       }
   ]
   ```

HBase が新しく作成されたクラスターでオンラインの場合、HBase は WAL データを Amazon EMR WAL に自動的に書き込み、Amazon EMR WAL を復旧目的で使用します。

**Example 1: Amazon EMR WAL を使用する EMR クラスターの作成**  

```
[
    {
        "Classification": "hbase-site",
        "Properties": {
            "hbase.rootdir": "s3://amzn-s3-demo-bucket/MyHBaseStore"
        }
    },
    {
        "Classification": "hbase",
        "Properties": {
            "hbase.emr.storageMode": "s3",
            "hbase.emr.wal.enabled": "true"
        }
    }
]
```

**Example 2: カスタム WAL ワークスペースを使用した EMR クラスターの作成**  

```
[
    {
        "Classification": "hbase-site",
        "Properties": {
            "hbase.rootdir": "s3://amzn-s3-demo-bucket/MyHBaseStore",
            "emr.wal.workspace": "customWorkspaceName"
        }
    },
    {
        "Classification": "hbase",
        "Properties": {
            "hbase.emr.storageMode": "s3",
            "hbase.emr.wal.enabled": "true"
        }
    }
]
```

# Amazon EMR WAL からの復元
<a name="emr-hbase-wal-restoring"></a>

元のクラスターの Amazon EMR WAL は 30 日間保持されるため、WAL を復元して 30 日以内に新しく作成されたクラスターに再利用できます。同じ S3 ルートディレクトリから新しいクラスターを起動すると、Amazon EMR は古いクラスターから WAL インスタンスを保持します。この新しいクラスターを終了すると、終了時から 30 日間のクロックが再起動します。

新しいクラスターで既存の WAL を復元するには、次の手順に従います。このプロセスでは、Amazon EMR WAL を有効にして元のクラスターを作成したことを前提としています。

1. WAL 対応クラスターを作成してから 30 日以内に、元のクラスター AWS リージョン と同じ に新しいクラスターを作成します。新しいクラスターは、元のクラスターが作成されたリージョンと同じリージョン内の同じ AZ 内または別の AZ 内に配置できます。

   Amazon S3 内のストレージモードとルートディレクトリの場所を指定するオブジェクトプロパティを設定します。指定する Amazon S3 の場所は EMR クラスターと同じリージョンにある必要がありますが、S3 で同時に同じ HBase ルートディレクトリを使用できるアクティブなクラスターは 1 つだけです。

   クラスターを作成するコンソールの手順と、 を使用する詳細な`create-cluster`例については、[HBase を使用したクラスターの作成](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hbase-create.html) AWS CLI」を参照してください。

1. 新しいクラスターに既存の Amazon EMR WAL を使用するには、`hbase.emr.wal.enabled` プロパティを `true` に設定します。次の JSON スニペットに設定オブジェクトの例を示します。

```
[
    {
        "Classification": "hbase-site",
        "Properties": {
            "hbase.rootdir": "s3://amzn-s3-demo-bucket/MyHBaseStore"
        }
    },
    {
        "Classification": "hbase",
        "Properties": {
            "hbase.emr.storageMode": "s3",
            "hbase.emr.wal.enabled": "true"
        }
    }
]
```

# Amazon EMR WAL でのセキュリティ設定の使用
<a name="emr-hbase-wal-security"></a>

Amazon EMR は、クラスターと Amazon EMR WAL サービス間で転送中のデータと、Amazon EMR WAL に保管中のデータの両方を自動的に暗号化します。詳細については、「[Encryption at rest for Amazon EMR WAL](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption-options.html#emr-encryption-WAL)」を参照してください。セキュリティ設定を使用して、 AWS Key Management Service (KMS) サービスから独自のキーを取得し、Amazon EMR WAL に保存するデータを暗号化することもできます。

クラスターを作成するときに、次のいずれかの方法を使用してセキュリティ設定を選択します。

------
#### [ Console ]

から AWS マネジメントコンソール、**セキュリティ設定と EC2 キーペアで設定**を指定します。

![\[Security configuration section with search bar, refresh button, and options to browse or create configuration.\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ReleaseGuide/images/wal-configure-security.png)


------
#### [ CLI ]

から AWS CLI、[create-cluster](https://docs.aws.amazon.com/cli/latest/reference/emr/create-cluster.html) コマンドを使用するときに `--security-configuration`パラメータを設定します。

------

詳細については、「*Amazon EMR 管理ガイド*」の「[Encryption at rest for Amazon EMR WAL](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption-options.html#emr-encryption-WAL)」および「[Use security configurations to set up cluster security](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-configurations.html)」を参照してください。

WAL に関するセキュリティ関連の詳細については、「[Using service-linked roles for write-ahead logging](https://docs.aws.amazon.com/emr/latest/ManagementGuide/using-service-linked-roles-wal.html)」を参照してください。

# 経由で Amazon EMR WAL にアクセスする AWS PrivateLink
<a name="emr-hbase-wal-privatelink"></a>

 AWS ネットワーク内で接続を維持する場合、Amazon EMR WAL は AWS PrivateLink サポートを提供します。セットアップするには AWS PrivateLink、 AWS マネジメントコンソール または AWS Command Line Interface (AWS CLI) を使用して、Amazon EMR WAL に接続するインターフェイス VPC エンドポイントを作成します。詳細については、「 *AWS PrivateLink ガイド*[」の「インターフェイス VPC エンドポイントを使用して AWS サービスにアクセスする](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)」を参照してください。

基本的なステップは次のとおりです。

1. Amazon VPC コンソールを使用して [VPC エンドポイントを作成](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint-aws)します。**[エンドポイント]** を選択し、**[エンドポイントの作成]** を選択します。

1. サービスカテゴリを **[AWS サービス]** のままにします。

1. **[サービス]** パネルの検索バーで、**emrwal** と入力し、`com.amazonaws.region.emrwal.prod` というラベルが付いたサービスを選択します。

1. VPC を選択し、エンドポイントを保存します。EMR クラスターにアタッチするのと同じセキュリティグループを VPC エンドポイントにアタッチしてください。

1. 必要に応じて、新しいエンドポイントのプライベート DNS ホスト名を有効にできるようになりました。VPC の **[DNS ホスト名の有効化]** と **[DNS サポートの有効化]** を `true` に設定します。次に、エンドポイント ID を選択し、**[アクション]** メニューから **[VPC 設定の編集]** を選択し、プライベート DNS 名を有効にします。
   + エンドポイントのプライベート DNS ホスト名は、`prod.emrwal.region.amazonaws.com` の形式に従います。
   + プライベート DNS ホスト名を有効にしない場合、Amazon VPC は `endpointID.prod.emrwal.region.vpce.amazonaws.com` 形式で DNS エンドポイント名を提供します。

1.  AWS PrivateLink エンドポイントを使用するには、次の例に示すように、[Amazon EMR WAL 対応クラスター](emr-hbase-wal-enabling.md)を作成するときに`emr.wal.client.endpoint`設定を変更します。

   ```
   [
       {
           "Classification": "hbase-site",
           "Properties": {
               "hbase.rootdir": "s3://amzn-s3-demo-bucket/MyHBaseStore",
               "emr.wal.workspace": "customWorkspaceName",
               "emr.wal.client.endpoint": "https://prod.emrwal.region.amazonaws.com"
           }
       },
       {
           "Classification": "hbase",
           "Properties": {
               "hbase.emr.storageMode": "s3",
               "hbase.emr.wal.enabled": "true"
           }
       }
   ]
   ```

VPCE ポリシーを使用して、Amazon EMR WAL API へのアクセスを許可または制限することもできます。詳細については、『*AWS PrivateLink ガイド*』の「[Control access to VPC endpoints using endpoint policies (エンドポイントポリシーを使用して VPC エンドポイントへのアクセスをコントロールする)](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)」を参照してください。

# Amazon EMR WAL の料金とメトリクスについて
<a name="emr-hbase-wal-metrics"></a>


| コア機能請求単位 | 詳細 | 
| --- | --- | 
| EMR-WAL-Read-GiB | API calls to read data from your table are billed as ReadRequestGiB. This includes [`Get` and `Scan`](https://hbase.apache.org/book.html#_data_model_operations) operations. Reads are charged based on the sizes of the read items. Amazon EMR bills at a minimum of 1 byte. For example, if you read a 1234.12 bytes item, you're charged for 1235 bytes. Reads are aggregated every hour for billing and shown as GiBs. | 
| EMR-WAL-Write-GiB | API calls to write data from your table are billed as Write-GiB. This includes [https://hbase.apache.org/book.html#_data_model_operations](https://hbase.apache.org/book.html#_data_model_operations) operations. Writes are charged based on the sizes of the written items. Amazon EMR bills at a minimum of 1 byte. For example, if you write a 1234.12 bytes item, you're charged for 1235 bytes. Writes are aggregated every hour for billing and shown as GiBs. | 
| EMR-WAL-WALHours | サービスに保存している WAL の数は `EMR-WAL-WALHours` として請求されます。Amazon EMR は、HBase リージョンごとに 1 つの WAL を作成します。例えば、システムテーブルを含む 20 個の HBase テーブルを作成し、各テーブルに 2 つの HBase リージョンがある場合、次の計算のように 28,800 WAL 時間を使用することになります。 <pre>  20 tables <br />x  2 Regions per table <br />x  1 WAL per Region <br />x 30 days <br />x 24 hours <br />-----------<br />28,800 EMR-WAL-WALHours</pre> | 

**`EMRWALCount` の例:**

![\[Line graph showing ResourceCount fluctuations over time, ranging from about 18.87 to 19.20.\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ReleaseGuide/images/wal-metric.png)


**`EMRWALWorkspaceCount` の例:**

![\[Graph showing ResourceCount fluctuations over time, ranging from 7.97 to 8.32.\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ReleaseGuide/images/wal-metric2.png)


# WAL ワークスペースのタグ付け
<a name="emr-hbase-wal-tagging"></a>

新しいワークスペースを作成するときにワークスペースにタグを追加し、実行中のクラスターのアクティブなワークスペースからタグを追加、削除、または一覧表示できます。ワークスペース内の個々のリソースにタグを付けることはできず、既存のタグを更新することもできません。代わりに、ワークスペースから不要なタグを削除して置き換えます。

ワークスペースには EMRWAL CLI からタグ付けできます。ワークスペースにタグ付けするための EMRWAL CLI コマンドのリストについては、「[Amazon EMR WAL (EMRWAL) CLI リファレンス](emrwalcli-ref.md)」を参照してください。

次の IAM ポリシーの例は、適切なタグ付けキー `resource_tag_allow_test_key` と値 `resource_tag_allow_test_value` を使用してワークスペース CRUDL の操作のみを許可するシナリオを示しています。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:ListBucket"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/resource_tag_allow_test_key": [
            "resource_tag_allow_test_value"
          ]
        }
      },
      "Sid": "AllowEMRWAL"
    }
  ]
}
```

------

ワークスペースの操作にタグが必要になったことを確認するには、[Amazon EMR WAL (EMRWAL) CLI リファレンス](emrwalcli-ref.md) を使用して、目的のリソースタグを持つワークスペースの `tagAllowResourceTag` で [`listTagsForResource`](emrwalcli-ref.md#emrwalcli-ref-listtagsforresource) コマンドを呼び出します。条件を正しく設定すると、コマンドは成功します。

```
emrwal listTagsForResource -r us-east-1 -arn arn:aws:emrwal:us-east-1:arn:workspace/tagAllowResourceTag
Tag(Key=resource_tag_allow_test_key, Value=resource_tag_allow_test_value)
```

# EMR WAL クラスター間レプリケーション
<a name="emr-hbase-wal-cross-cluster"></a>

EMR 7.5 以降、EMR WAL は先行書き込みログの HBase クラスター間レプリケーションをサポートしています。このトピックでは、この機能を有効にし、機能していることをチェックする方法について説明します。クラスターレプリケーションの詳細については、Apache HBase ドキュメントの「[Cluster Replication](https://hbase.apache.org/book.html#_cluster_replication)」を参照してください。

**注記**  
レプリケーションプロセスがローカル EMR WAL からデータを読み取るため、先行書き込みログには追加の読み取りコストがかかります。コストの詳細については、「[About Amazon EMR Releases](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hbase-wal-metrics.html)」を参照してください。

## クラスター間レプリケーション設定
<a name="emr-hbase-wal-cross-cluster-setup"></a>

同じユーザーエクスペリエンスを実現するために、EMR WAL でレプリケーション機能を有効にすることは、ネイティブの HBase 先行書き込みログと同じです。以下の手順は簡単な例を示しています。詳細については、HBase ドキュメントの「[Cluster Replication](https://hbase.apache.org/book.html#_cluster_replication)」を参照してください。

1. EMR WAL を有効にして、レプリケーションソースであるプライマリクラスターを起動します。先行書き込みログを有効にするには、「[Amazon EMR WAL の有効化](emr-hbase-wal-enabling.md)」を参照してください。さらに、ピアクラスターを起動します。このピアクラスターでは、EMR WAL を有効にするかどうかを選択できます。

1. 両方のクラスターで、テーブルを作成します:

   ```
   HBASE_CMD="sudo -u hbase hbase"
   echo "create 'test_replication_table',{NAME => 'CF'}" | $HBASE_CMD shell
   ```

1. プライマリクラスターにピア設定を追加し、テーブルレプリケーションを有効にします。ピアの追加中、ピアクラスターマスターノードのホスト名 **PEER\$1DNS** が必要です。

   ```
   HBASE_CMD="sudo -u hbase hbase"
   PEER_DNS="ip-10-1-1-0.ec2.com"
   PEER_NAME="aws"
   TABLE_NAME="test_replication_table"
   
   ## Create peering with the destination cluster
   echo "add_peer '$PEER_NAME', CLUSTER_KEY => '$PEER_DNS:2181:/hbase'" | $HBASE_CMD shell
   
   ## List peers in the primary cluster to confirm peer setup
   echo "list_peers" | $HBASE_CMD shell
   
   ## Enable table replication
   echo "enable_table_replication '$TABLE_NAME'" | $HBASE_CMD shell
   ```

## クラスター間のレプリケーションの確認
<a name="emr-hbase-wal-cross-cluster-confirm"></a>

セットアップステップを実行することにより、プライマリクラスターとピアクラスターの間でレプリケーションが有効になります。レプリケーションが機能していることを確認するためのテストがその後に続きます。

1. プライマリクラスターにデータを追加し、ピアクラスターにレプリケートされたデータを確認します。

   ```
   ## Write on primary cluster with HBase CLI
   
   put 'test_replication_table', 'aaa', 'CF:a', 'aaa_a1'
   put 'test_replication_table', 'bbb', 'CF:b', 'bbb_b1'
   put 'test_replication_table', 'ccc', 'CF:c', 'ccc_c1'
   ```

1. ピアクラスターで正常にレプリケーションされたことを確認します。この場合、プライマリからピアクラスターに書き込まれたレプリケートされたデータが表示されます。

   ```
   ### Scan on peer cluster with HBase CLI
   
   scan 'test_replication_table'
   ```

# Amazon EMR WAL の考慮事項とリージョン
<a name="emr-hbase-wal-considerations"></a>

## Amazon EMR WAL に関する考慮事項
<a name="emr-hbase-wal-consid"></a>

次のリストでは、Amazon EMR WAL の重要な考慮事項と制限について説明します。
+ Amazon EMR WAL は、Amazon EMR リリース 6.15.0 以降で使用できます。
+ Amazon EMR WAL はオプトインの有料サービスです。読み取り、書き込み、データストレージなど、使用するものに対して料金が発生します。詳細については、「[Amazon EMR WAL の料金とメトリクスについて](emr-hbase-wal-metrics.md)」と「[Amazon EMR の料金](https://aws.amazon.com/emr/pricing/)」ページを参照してください。
+ Amazon EMR WAL は HBase Write Ahead Log (WAL) を使用します。Amazon EMR WAL を使用するには、クラスターで HBase WAL を使用する必要があります。
+ クラスターの作成時に Amazon EMR WAL を有効にするには、必要なロールアクセス許可が必要です。詳細については、「[Using service-linked roles for write-ahead logging](https://docs.aws.amazon.com/emr/latest/ManagementGuide/using-service-linked-roles-wal.html)」を参照してください。
+ Amazon EMR WAL は、 AWS マネジメントコンソール、、 AWS CLIまたは API を使用してクラスターを作成するときに有効にする必要があり、*インスタンスグループ*設定を使用する必要があります。Amazon EMR WAL でクラスターを作成していない場合、実行中のクラスターで Amazon EMR WAL を有効にすることはできません。また、`hbase-site` 設定を編集して実行中のクラスターで Amazon EMR WAL を有効にすることはできません。
+ Amazon EMR WAL は、ルートディレクトリに Amazon S3 を使用するクラスターでのみ有効にできます。
+ Amazon EMR バージョン 7.5.0 以前は、Amazon EMR WAL のレコードは 4MB 以下である必要がありました。ただし、Amazon EMR バージョン 7.5.0 以降では、`emr.wal.max.payload.size` プロパティを使用して EMR WAL の最大レコードサイズを設定できます。デフォルト値は 1 GB です。以下の例では、最大レコードサイズを 2GB に設定します:

  ```
  [
    {
      "Classification":"hbase-site",
      "Properties": {
         "emr.wal.max.payload.size": "2147483648"
      }
    }
  ]
  ```
+ Amazon S3 の同じ HBase ルートディレクトリに複数のアクティブなクラスターを持つことはできません。
+ リードレプリカクラスターで Amazon EMR WAL を有効にすることはできません。
+ WAL は、マネージドサービス内のアベイラビリティーゾーン間でレプリケートされます。
+ WAL はクラスターを存続させ、次のクラスターで引き続き使用できるようにします。
+ Amazon EMR WAL は、起動中またはクラスターが動作中 (実行中の状態) に無効にすることはできません。
+ WAL とワークスペースの制限については、「[Amazon EMR endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/emr.html)」を参照してください。

## Amazon EMR WAL のリージョン可用性
<a name="emr-hbase-wal-regions"></a>

Amazon EMR WAL サービスは、以下でご利用いただけます AWS リージョン。
+ `ap-northeast-1` – アジアパシフィック (東京)
+ `ap-northeast-2` – アジアパシフィック (ソウル)
+ `ap-southeast-1` – アジアパシフィック (シンガポール)
+ `ap-south-1` – アジアパシフィック (ムンバイ)
+ `ap-southeast-2` – アジアパシフィック (シドニー)
+ `eu-central-1` – 欧州 (フランクフルト)
+ `eu-north-1` – 欧州 (ストックホルム)
+ `eu-west-1` – 欧州 (アイルランド)
+ `sa-east-1` – 南米 (サンパウロ)
+ `us-east-1` — 米国東部 (バージニア北部)
+ `us-east-2` — 米国東部 (オハイオ)
+ `us-west-2` — 米国西部 (オレゴン)

以下のリージョンは、Amazon EMR バージョン 7.3.0 以降でのみ使用できます:
+ `ap-east-1` – アジアパシフィック (香港)
+ `af-south-1` – アフリカ (ケープタウン) 
+ `ca-central-1` — カナダ (中部)
+ `eu-west-2` – 欧州 (ロンドン)

# Amazon EMR WAL (EMRWAL) CLI リファレンス
<a name="emrwalcli-ref"></a>

*EMRWAL コマンドラインインターフェイス (EMRWAL CLI)* は、Amazon EMR の先行書き込みログ (WAL) を管理するための統合ツールです。クラスターの作成時に WAL を有効にすると、EMRWAL CLI には EMR クラスターが付属します。WAL の有効化の詳細については「[Amazon EMR の先行書き込みログ (WAL)](emr-hbase-wal.md)」をご覧ください。

EMRWAL CLI には、次のコマンドが含まれます。

**Topics**
+ [`createWorkspace`](#emrwalcli-ref-createworkspace)
+ [`deleteWal`](#emrwalcli-ref-deletewal)
+ [`deleteWorkspace`](#emrwalcli-ref-deleteworkspace)
+ [`listTagsForResource`](#emrwalcli-ref-listtagsforresource)
+ [`listWals`](#emrwalcli-ref-listwals)
+ [`listWorkspaces`](#emrwalcli-ref-listworkspaces)
+ [`tagResource`](#emrwalcli-ref-tagresource)
+ [`untagResource`](#emrwalcli-ref-untagresource)

## `createWorkspace`
<a name="emrwalcli-ref-createworkspace"></a>

`createWorkspace` コマンドは、新しい Amazon EMR WAL ワークスペースを作成します。

**使用:**

```
emrwal createWorkspace [-tags <tags>] [-e {endpoint}] [-r {Region}] -w {workspacename} [-h]
```

**例**:

```
emrwal createWorkspace -w examplews
```

## `deleteWal`
<a name="emrwalcli-ref-deletewal"></a>

`deleteWals` コマンドは、指定した Amazon EMR WAL を削除します。

**使用:**

```
emrwal deleteWal [-e {endpoint}] [-r {Region}] [-w {workspacename}] [-p <tablePrefix>] [-n <walName>] [-N <fullName>] [-R] [-m] [-h]
```

**例**:

```
emrwal deleteWal -w examplews -p hbasetable -n examplewal
```

## `deleteWorkspace`
<a name="emrwalcli-ref-deleteworkspace"></a>

`deleteWorkspace` コマンドは、指定した Amazon EMR WAL ワークスペースを削除します。

**使用:**

```
emrwal deleteWorkspace [-e {endpoint}] [-r {Region}] -w {workspacename} [-h]
```

**例**:

```
emrwal deleteWorkspace -w examplews
```

## `listTagsForResource`
<a name="emrwalcli-ref-listtagsforresource"></a>

`listTagsForResource` コマンドは、指定した Amazon EMR WAL ワークスペースのすべてのキーと値のペアタグを一覧表示します。

**使用:**

```
emrwal listTagsForResource -arn {resource-arn} [-e {endpoint}] [-r {Region}] [-h]
```

**例**:

```
emrwal listTagsForResource -arn arn:aws:emrwal::1234567891234:workspace/examplews
```

## `listWals`
<a name="emrwalcli-ref-listwals"></a>

`listWals` コマンドは、指定したワークスペース内のすべての Amazon EMR WAL を一覧表示します。

**使用:**

```
emrwal listWals [-nextToken {token-string}] [-pageSize {integer}] [-e {endpoint}] [-r {Region}] [-w {workspacename}] [-p <tablePrefix>] [-M {integer}] [-h]
```

**例**:

```
emrwal listWals -w examplews
```

## `listWorkspaces`
<a name="emrwalcli-ref-listworkspaces"></a>

`listWorkspaces` コマンドは、使用可能なすべての Amazon EMR WAL ワークスペースを一覧表示します。

**使用:**

```
emrwal listWorkspaces [-nextToken {token-string}] [-pageSize {integer}] [-e {endpoint}] [-r {Region}] [-M {integer}] [-h]
```

**例**:

```
emrwal listWorkspaces
```

## `tagResource`
<a name="emrwalcli-ref-tagresource"></a>

`tagResource` コマンドは、指定した Amazon EMR WAL ワークスペースに 1 つ以上のキーと値のペアタグを割り当てます。

**使用:**

```
emrwal tagResource -arn {resource-arn} -tags <tags> [-e {endpoint}] [-r {Region}] [-h]
```

**例**:

```
emrwal tagResource -arn arn:aws:emrwal::1234567891234:workspace/examplews -tags tag_key=tag_value
```

## `untagResource`
<a name="emrwalcli-ref-untagresource"></a>

`untagResource` コマンドは、指定した Amazon EMR WAL ワークスペースに 1 つ以上のキーと値のペアタグの割り当てを解除します。

**使用:**

```
emrwal untagResource -arn {resource-arn} -tagKeys <tagKeys> [-e {endpoint}] [-r {Region}] [-h]
```

**例**:

```
emrwal untagResource -arn arn:aws:emrwal::1234567891234:workspace/examplews -tagKeys tag_key
```

# HBase シェルを使用する
<a name="emr-hbase-connect"></a>

HBase クラスターを作成したら、次のステップとして HBase に接続してデータの読み書きを開始できます (データの書き込みはリードレプリカクラスターではサポートされません)。[HBase シェル](https://hbase.apache.org/book.html#shell)を使用すると、コマンドをテストできます。

**HBase シェルを開くには**

1. SSH を使用して、HBase クラスターのメインサーバーに接続します。SSH を使用して Amazon EMR プライマリノードに接続する方法の詳細については、「*Amazon EMR 管理ガイド*」の「[Connect to the primary node using SSH](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-ssh.html)」を参照してください。

1. `hbase shell` を実行します。HBase シェルが開き、次のようなプロンプトが表示されます。

   ```
   hbase(main):001:0>
   ```

Base シェルコマンドを発行するには、プロンプトを使用します。シェルコマンドの説明や、シェルコマンドを呼び出す方法については、HBase プロンプトで「help」と入力し、Enter キーを押します。

## テーブルを作成する
<a name="emr-hbase-create-table"></a>

次のコマンドを実行すると、「f1」という名前の 1 つの列ファミリーが含まれる、「t1」という名前のテーブルが作成されます。

```
hbase(main):001:0>create 't1', 'f1'
```

## 値を入力する
<a name="emr-hbase-put-value"></a>

次のコマンドを実行すると、テーブル「t1」の行「r1」、および列「f1」に対して値「v1」が入力されます。

```
hbase(main):001:0>put 't1', 'r1', 'f1:col1', 'v1'
```

## 値を取得する
<a name="emr-hbase-get-value"></a>

次のコマンドを実行すると、テーブル「t1」の行「r1」の値を取得します。

```
hbase(main):001:0>get 't1', 'r1'
```

## テーブルを削除する
<a name="emr-hbase-delete-table"></a>

次のコマンドはテーブル「t1」を削除します。

```
hbase(main):001:0>drop 'ns1:t1',false
```

boolean 値はテーブルをアーカイブするかどうかに対応しているので、保存する場合は `true` に設定できます。また、boolean を指定せずに `drop 'ns1:t1'` を実行してテーブルをアーカイブすることもできます。

# Hive で HBase テーブルにアクセスする
<a name="emr-hbase-access-hive"></a>

HBase と [Apache Hive](emr-hive.md) は、緊密に統合されているため、HBase に格納されたデータに対して並列処理の大量ワークロードを直接実行できます。HBase と共に Hive を使用するには、通常は同じクラスターでこれらを起動します。ただし Hive と HBase を別々のクラスターで起動することもできます。HBase と Hive を別々のクラスターに切り離して実行すると、各アプリケーションがクラスターのリソースをより効率的に使用できるため、パフォーマンスが向上する可能性があります。

次の手順は、Hive を使用してクラスターの HBase に接続する方法を説明します。

**注記**  
Hive クラスターは 1 つの HBase クラスターにのみ接続できます。

**Hive を HBase に接続するには**

1. Hive と HBase がインストールされた別々のクラスターを作成するか、HBase と Hive の両方インストールされている 1 つのクラスターを作成します。

1. 別々のクラスターを使用する場合は、2 つのプライマリノード間で HBase と Hive のポートが開くように、セキュリティグループを変更します。

1. SSH を使用して、Hive がインストールされているクラスターのプライマリノードに接続します。詳細については、「*Amazon EMR 管理ガイド*」の「[Connect to the primary node using SSH](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-ssh.html)」を参照してください。

1. 次のコマンドで Hive シェルを起動します。

   ```
   hive
   ```

1. (オプション) HBase と Hive が同一のクラスターにある場合、これを行う必要はありません。Hive クラスターの HBase クライアントを、データが含まれる HBase クラスターに接続します。次の例の *public-DNS-name* は、HBase クラスターのプライマリノードのパブリック DNS 名に置き換えます (例: `ec2-50-19-76-67.compute-1.amazonaws.com`)。

   ```
   set hbase.zookeeper.quorum=public-DNS-name;
   ```

1. 必要に応じて、HBase データに対して Hive クエリを実行するか、次の手順に進みます。

**Hive から HBase データにアクセスするには**
+  Hive クラスターと HBase クラスターの間の接続が確立されたら（前述の手順を参照）、Hive に外部テーブルを作成することで、HBase クラスターに格納されているデータにアクセスできます。

  次の例では、プライマリノードでの Hive プロンプトからの実行時に、`inputTable` という HBase テーブルに格納されているデータを参照する外部テーブルを作成しています。その後、Hive ステートメントで `inputTable` を参照し、HBase クラスターに格納されているデータに対してクエリを実行したり、そのデータを変更したりできます。

  ```
  set hbase.zookeeper.quorum=ec2-107-21-163-157.compute-1.amazonaws.com;
  
  create external table inputTable (key string, value string)
       stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
        with serdeproperties ("hbase.columns.mapping" = ":key,f1:col1")
        tblproperties ("hbase.table.name" = "t1");
  
  select count(key) from inputTable ;
  ```

HBase と Hive を組み合わせたより高度なユースケースと例については、 AWS Big Data Blog の投稿[「Buin NoSQL and massively parallel analytics using Apache HBase and Apache Hive on Amazon EMR](https://aws.amazon.com/blogs/big-data/combine-nosql-and-massively-parallel-analytics-using-apache-hbase-and-apache-hive-on-amazon-emr)」を参照してください。

# HBase のスナップショットを使用する
<a name="emr-hbase-snapshot"></a>

HBase では、組み込みの[スナップショット](https://hbase.apache.org/book.html#ops.snapshots)機能を使用して、テーブルの軽量バックアップが作成されます。EMR クラスターでは、EMRFS を使用してこれらのバックアップを Amazon S3 にエクスポートすることもできます。HBase シェルを使用すると、プライマリノードのスナップショットも作成できます。このトピックでは、シェルでこれらのコマンドをインタラクティブに実行する方法、または AWS CLI または `command-runner.jar`で を使用してステップを実行する方法について説明します AWS SDK for Java。HBase バックアップの他の種類については、HBase のドキュメントで「[HBase Backup](https://hbase.apache.org/book.html#ops.backup)」の項を参照してください。

## テーブルを使用してスナップショットを作成する
<a name="w2aac33c49b4"></a>

```
hbase snapshot create -n snapshotName -t tableName
```

から command-runner.jar を使用する AWS CLI:

```
aws emr add-steps --cluster-id j-2AXXXXXXGAPLF \
--steps Name="HBase Shell Step",Jar="command-runner.jar",\
Args=[ "hbase", "snapshot", "create","-n","snapshotName","-t","tableName"]
```

AWS SDK for Java

```
HadoopJarStepConfig hbaseSnapshotConf = new HadoopJarStepConfig()
  .withJar("command-runner.jar")
  .withArgs("hbase","snapshot","create","-n","snapshotName","-t","tableName");
```

**注記**  
スナップショット名が一意でない場合、作成処理はリターンコード `-1` または `255` で失敗になりますが、問題点を記述したエラーメッセージが表示されない可能性があります。同じスナップショット名を使用するには、いったん削除してから再作成してください。

## スナップショットを削除する
<a name="w2aac33c49b6"></a>

```
hbase shell
>> delete_snapshot 'snapshotName'
```

## スナップショット情報を表示する
<a name="w2aac33c49b8"></a>

```
hbase snapshot info -snapshot snapshotName
```

## Amazon S3 にスナップショットをエクスポートする
<a name="w2aac33c49c10"></a>

**重要**  
スナップショットをエクスポートするときに `-mappers` 値を指定しないと、HBase は任意の計算を使用してマッパーの数を判断します。この値は、テーブルサイズによっては非常に大きくなる場合があり、エクスポート時のジョブの実行に悪影響を及ぼします。したがって、`-mappers` パラメータ、`-bandwidth` パラメータ (帯域幅の消費をメガバイト/秒で指定)、または両方を指定してエクスポートオペレーションで使用されるクラスターリソースを制限することをお勧めします。または、使用量が低下する期間にスナップショットのエクスポートオペレーションを実行できます。

```
hbase snapshot export -snapshot snapshotName \
-copy-to s3://amzn-s3-demo-bucket/folder -mappers 2
```

`command-runner.jar` から を使用する AWS CLI:

```
aws emr add-steps --cluster-id j-2AXXXXXXGAPLF \
--steps Name="HBase Shell Step",Jar="command-runner.jar",\
Args=[ "hbase", "snapshot", "export","-snapshot","snapshotName","-copy-to","s3://amzn-s3-demo-bucket/folder","-mappers","2","-bandwidth","50"]
```

AWS SDK for Java:

```
HadoopJarStepConfig hbaseImportSnapshotConf = new HadoopJarStepConfig()
  .withJar("command-runner.jar")
  .withArgs("hbase","snapshot","export",
      "-snapshot","snapshotName","-copy-to",
      "s3://bucketName/folder",
      "-mappers","2","-bandwidth","50");
```

## Amazon S3 からスナップショットをインポートする
<a name="w2aac33c49c12"></a>

操作はインポートですが、ここで使用する HBase は `export` です。

```
sudo -u hbase hbase snapshot export \
-D hbase.rootdir=s3://amzn-s3-demo-bucket/folder \
-snapshot snapshotName \
-copy-to hdfs://masterPublicDNSName:8020/user/hbase \
-mappers 2
```

`command-runner.jar` から を使用する AWS CLI:

```
aws emr add-steps --cluster-id j-2AXXXXXXGAPLF \
--steps Name="HBase Shell Step",Jar="command-runner.jar", \
Args=["sudo","-u","hbase","hbase snapshot export","-snapshot","snapshotName", \
"-D","hbase.rootdir=s3://amzn-s3-demo-bucket/folder", \
"-copy-to","hdfs://masterPublicDNSName:8020/user/hbase","-mappers","2","-chmod","700"]
```

AWS SDK for Java:

```
HadoopJarStepConfig hbaseImportSnapshotConf = new HadoopJarStepConfig()
  .withJar("command-runner.jar")
  .withArgs("sudo","-u","hbase","hbase","snapshot","export", "-D","hbase.rootdir=s3://path/to/snapshot",
      "-snapshot","snapshotName","-copy-to",
      "hdfs://masterPublicDNSName:8020/user/hbase",
      "-mappers","2","-chuser","hbase");
```

## HBase シェル内のスナップショットからテーブルを復元する
<a name="w2aac33c49c14"></a>

```
hbase shell
>> disable tableName
>> restore_snapshot snapshotName
>> enable tableName
```

HBase では現在、HBase シェルで見つかるスナップショットコマンドがすべてサポートされていません。たとえば、スナップショットを復元する HBase コマンドラインオプションはないため、シェルで復元する必要があります。つまり、`command-runner.jar` で Bash コマンドを実行する必要があります。

**注記**  
ここで使用されているコマンドは `echo` であるため、Amazon EMR で実行されたコマンドが終了コード `0` を返しても、シェルコマンドは失敗する可能性があります。ステップとしてシェルコマンドを実行する場合は、ステップログを確認してください。

```
echo 'disable tableName; \
restore_snapshot snapshotName; \
enable tableName' | hbase shell
```

 AWS CLIを使用するステップを次に示します。まず、以下の内容 `snapshot.json` ファイルを作成します。

```
[
  {
    "Name": "restore",
    "Args": ["bash", "-c", "echo $'disable \"tableName\"; restore_snapshot \"snapshotName\"; enable \"tableName\"' | hbase shell"],
    "Jar": "command-runner.jar",
    "ActionOnFailure": "CONTINUE",
    "Type": "CUSTOM_JAR"
  }
]
```

```
aws emr add-steps --cluster-id j-2AXXXXXXGAPLF \
--steps file://./snapshot.json
```

AWS SDK for Java:

```
HadoopJarStepConfig hbaseRestoreSnapshotConf = new HadoopJarStepConfig()
  .withJar("command-runner.jar")
  .withArgs("bash","-c","echo $'disable \"tableName\"; restore_snapshot \"snapshotName\"; enable \"snapshotName\"' | hbase shell");
```

# HBase を設定する
<a name="emr-hbase-configure"></a>

デフォルトの HBase 設定はほとんどのアプリケーションで動作しますが、HBase 設定を変更することもできます。そのためには、HBase 設定分類のプロパティを使用します。詳細については、「[アプリケーションの設定](emr-configure-apps.md)」を参照してください。

次の例では、Amazon S3 に格納されている設定ファイル `myConfig.json` に基づいて、代替の HBase ルートディレクトリを持つクラスターを作成します。

**注記**  
読みやすくするために、Linux 行連続文字 (\$1) が含まれています。Linux コマンドでは、これらは削除することも、使用することもできます。Windows の場合、削除するか、キャレット (^) に置き換えてください。

```
aws emr create-cluster --release-label emr-7.12.0 --applications Name=HBase \
--instance-type m5.xlarge --instance-count 3 --configurations https://s3.amazonaws.com/amzn-s3-demo-bucket/myfolder/myConfig.json
```

`myConfig.json` ファイルは、次の例に示すように、`hbase.rootdir` 設定分類の `hbase-site` プロパティを指定します。*ip-XXX-XX-XX-XXX.ec2.internal* を、クラスターのプライマリノードの内部 DNS ホスト名に置き換えます。

```
[
  {
    "Classification":"hbase-site",
    "Properties": {
       "hbase.rootdir": "hdfs://ip-XXX-XX-XX-XXX.ec2.internal:8020/user/myCustomHBaseDir"
    }
  }
]
```

**注記**  
Amazon EMR バージョン 5.21.0 以降では、実行中のクラスター内のインスタンスグループごとに、クラスター設定を上書きして追加の設定分類を指定できます。これを行うには、Amazon EMR コンソール、 AWS Command Line Interface (AWS CLI)、または AWS SDK を使用します。詳細については、「[実行中のクラスター内のインスタンスグループの設定を指定する](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps-running-cluster.html)」を参照してください。

## YARN でメモリ割り当てを変更する
<a name="emr-hbase-configure-yarn"></a>

HBase は YARN アプリケーションとして実行されていないため、YARN および YARN アプリケーションに割り当てられたメモリを再計算する必要があります。その結果、HBase がインストールされている場合は YARN で全体的に使用可能なメモリ量が少なくなります。YARN アプリケーションと HBase を同じクラスターに配置することを計画する場合は、この点を考慮する必要があります。メモリが 64 GB 未満のインスタンスタイプでは、メモリの半分が NodeManager 用に確保され、さらに HBase RegionServer に割り当てられます。メモリが 64 GB を超えるインスタンスタイプでは、HBase RegionServer のメモリの上限が 32 GB になります。一般的に、YARN 設定のメモリは MapReduce リデューサータスクのメモリの倍数になります。

「[タスクの構成設定のデフォルト値](emr-hadoop-task-config.md#emr-hadoop-task-jvm)」のテーブルには、HBase に必要なメモリに基づいた YARN 設定の変更が示されています。

## HBase のポート番号
<a name="emr-hbase-ports"></a>

HBase 用に選択されている一部のポート番号は、デフォルト値と異なります。Amazon EMR の HBase 用インスタンスおよびポートを次に示します。


**HBase のポート**  

| インターフェイス | ポート | プロトコル | 
| --- | --- | --- | 
| HMaster | 16000 | TCP | 
| HMaster UI | 16010 | HTTP | 
| RegionServer | 16020 | TCP | 
| RegionServer 情報 | 16030 | HTTP | 
| REST サーバー | 8070 | HTTP | 
| REST UI | 8085 | HTTP | 
| Thrift サーバー | 9090 | TCP | 
| Thrift サーバー UI | 9095 | HTTP | 

**重要**  
Amazon EMR リリースバージョン 4.6.0 以降では、`kms-http-port` は 9700、`kms-admin-port` は 9701 です。

## 最適化のための HBase サイト設定
<a name="emr-hbase-settings-optimize"></a>

HBase サイト設定の一部またはすべてを設定することで、アプリケーションのワークロード用に HBase クラスターを最適化できます。調査の出発点として次の設定を使用することをお勧めします。

### zookeeper.session.timeout
<a name="emr-hbase-zookeeper.session.timeout"></a>

デフォルトのタイムアウトは 40 秒 (40000 ミリ秒) です。リージョンサーバーがクラッシュしたとき、そのリージョンサーバーが存在しないことをマスターサーバーが認識し、回復処理を開始するのに要する時間です。マスターサーバーの回復処理を高速化するには、この値を小さくして時間を短くします。次の例では、30 秒、つまり 30000 ミリ秒を使用しています。

```
[
  {
    "Classification":"hbase-site",
    "Properties": {
       "zookeeper.session.timeout": "30000"
    }
  }
]
```

### hbase.regionserver.handler.count
<a name="emr-hbase-hbase.regionserver.handler.count"></a>

リクエストをテーブルに提供するためにリージョンサーバーが開いたままにするスレッド数を定義します。同時実行クライアント数が多い大きな書き込みバッファを使用するときに、ユーザーによるリージョンサーバーの強制終了を防ぐため、デフォルトでは 10 という低い値が設定されています。大まかな方法として、リクエストあたりのペイロードが MB 範囲に近いときは（big puts、ラージキャッシュを使用した scans）小さな値を、ペイロードが小さいときは（gets、small puts、ICV、deletes）、大きな値を指定します。次の例では、開いているスレッドの数を 30 まで増やしています。

```
[
  {
    "Classification":"hbase-site",
    "Properties": {
       "hbase.regionserver.handler.count": "30"
    }
  }
]
```

### hbase.hregion.max.filesize
<a name="emr-hbase-hbase.hregion.max.filesize"></a>

このパラメータは、個別のリージョンのサイズ（バイト単位）を管理します。デフォルトでは、`1073741824` に設定されます。大量のデータを HBase クラスターに書き込んでおり、頻繁に分割が発生する場合は、このサイズを増やすことで個別のリージョンを大きくします。分割は少なくなりますが、サーバー間におけるリージョンの負荷分散にかかる時間が長くさなります。

```
[
  {
    "Classification":"hbase-site",
    "Properties": {
       "hbase.hregion.max.filesize": "1073741824"
    }
  }
]
```

### hbase.hregion.memstore.flush.size
<a name="emr-hbase-hbase.hregion.memstore.flush.size"></a>

このパラメータは、ディスクにフラッシュする前の memstore の最大サイズ（バイト単位）を管理します。デフォルトでは、`134217728` です。ワークロードが書き込みオペレーションの短期バーストで構成されている場合は、この制限を増やして、バースト中もすべての書き込みがメモリに収まるようにし、後でディスクにフラッシュされるようにします。これにより、バースト中のパフォーマンスが向上することがあります。

```
[
  {
    "Classification":"hbase-site",
    "Properties": {
       "hbase.hregion.memstore.flush.size": "134217728"
    }
  }
]
```

## パフォーマンスに関する考慮事項
<a name="hbase-performance-considerations"></a>

### HBase の Z Garbage Collector (ZGC) の有効化
<a name="hbase-performance-considerations-enable"></a>

Amazon EMR バージョン 7.10.0 以降では、ユーザーは HBase クラスターのガベージコレクション (GC) 設定をシームレスに設定できます。Z Garbage Collector (ZGC) を有効にして、低レイテンシーとミリ秒未満の GC 一時停止時間を実現することをお勧めします。

HBase RegionServer の ZGC を有効にする設定は次のとおりです:

```
[
    {
        "Classification": "hbase-env",
        "Properties": {},
        "Configurations": [
            {
                "Classification": "export",
                "Properties": {
                    "JAVA_HOME": "/usr/lib/jvm/jre-21",
                    "HBASE_REGIONSERVER_GC_OPTS": "\"-XX:+UseZGC -XX:+ZGenerational\""
                }
            }
        ]
    }
]
```

**注記**  
**JAVA\$1HOME** 環境変数は、JDK 21 で導入されたため、世代 ZGC を使用するときに設定する必要があります (推奨)。ZGC の非世代モード (`-XX:+ZGenerational` なし) を使用する場合は、**JAVA\$1HOME** を設定する必要はありません。JDK 24 では、ZGC の非世代モードが削除されました。

#### ZGC チューニング
<a name="hbase-performance-considerations-tuning-"></a>

1. **JVM 固定ヒープを有効にする**

   Z Garbage Collector (ZGC) は、固定ヒープメモリで設定するとより効率的に動作するため、オペレーティングシステムにメモリを返すオーバーヘッドがなくなります。HBase クラスターの固定ヒープメモリを設定するには、以下の設定を使用します:

   ```
   [
       {
           "Classification": "hbase",
           "Properties": {
               "hbase.regionserver.fixed.heap.enabled": "true"
           }
       }
   ]
   ```

1. **プレタッチを有効にする**

   プレタッチを有効にすることにより、初期レイテンシーが短縮され、より予測可能なパフォーマンスが提供されるため、ガベージコレクション (GC) のパフォーマンスが向上します。HBase クラスターのプレタッチを有効にするには、以下の設定を使用します:

   ```
   [
       {
           "Classification": "hbase-env",
           "Properties": {},
           "Configurations": [
               {
                   "Classification": "export",
                   "Properties": {
                       "JAVA_HOME": "/usr/lib/jvm/jre-21",
                       "HBASE_REGIONSERVER_GC_OPTS": "\"-XX:+UseZGC -XX:+ZGenerational -XX:+AlwaysPreTouch\""
                   }
               }
           ]
       }
   ]
   ```

# HBase ユーザーインターフェイスを表示する
<a name="hbase-web-ui"></a>

**注記**  
HBase ユーザーインターフェイスは、デフォルトで安全ではない HTTP 接続を使用します。セキュア HTTP (HTTPS) を有効にするには、[HBase 構成](emr-hbase-configure.md)で `hbase-site` 分類の `hbase.ssl.enabled` プロパティを `true` に設定します。HBase ウェブ UI でセキュア HTTP (HTTPS) を使用する方法の詳細については、「[Apache HBase リファレンスガイド](https://hbase.apache.org/book.html#_using_secure_http_https_for_the_web_ui)」を参照してください。

HBase にはウェブベースのユーザーインターフェイスが用意されており、これを使用して HBase クラスターをモニタリングできます。Amazon EMR で HBase を実行するとき、ウェブインターフェイスはプライマリノードで実行され、ポート転送を使用して表示できます。これは、SSH トンネルの作成とも呼ばれます。

**HBase ユーザーインターフェイスを表示するには**

1. SSH を使用してプライマリノードにトンネル接続し、安全な接続を確立します。詳細については、[「*Amazon EMR 管理ガイド*」の「Option 2, part 1: Set up an SSH tunnel to the primary node using dynamic port forwarding](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-ssh-tunnel.html)」を参照してください。

1. Firefox 用 FoxyProxy プラグインなどのプロキシツールを使用してウェブブラウザをインストールし、 AWS ドメインの SOCKS プロキシを作成します。詳細については、「*Amazon EMR 管理ガイド*」の「[Option 2, part 2: Configure proxy settings to view websites hosted on the primary node](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-proxy.html)」を参照してください。

1. プロキシセットと SSH 接続を開いた状態で、**http://*master-public-dns-name*:16010/master-status** のブラウザウィンドウを開き、HBase UI を表示できます。*master-public-dns-name* はクラスターのプライマリノードのパブリック DNS アドレスです。

![\[HMaster\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ReleaseGuide/images/hmaster.png)


HBase は Hue で表示することもできます。たとえば、次の図では、「`t1`」で作成したテーブル [HBase シェルを使用する](emr-hbase-connect.md) が示されています。

![\[HMaster\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ReleaseGuide/images/huehbase.png)


 Hue の詳細については、「[Hue](emr-hue.md)」を参照してください。

# HBase ログファイルを表示する
<a name="emr-hbase-log-files"></a>

HBase では、そのオペレーションの一環として、設定、デーモン、アクション、および例外に関する詳しい情報をログファイルに書き込みます。これらのログファイルは、HBase で問題をデバッグするだけでなく、パフォーマンスを追跡するときにも役に立ちます。

ログファイルを Amazon S3 に保持するようクラスターを設定した場合、ログが Amazon S3 に書き込まれるのは 5 分ごとであり、最新のログファイルが利用できるようになるまでに若干の遅れが生じる可能性があるという点に注意する必要があります。

**プライマリノードで HBase ログを表示するには**
+ 現在の HBase ログを表示するには、SSH を使用してプライマリノードに接続し、`/var/log/hbase` ディレクトリに移動します。これらのログは、クラスターの起動時に Amazon S3 へのログを有効にしない限り、クラスター終了後に使用できなくなります。

**Amazon S3 で HBase ログを表示するには**
+ Amazon S3 で HBase ログおよび他のクラスターログにアクセスするには、また、クラスターの終了後もこうしたログを利用できるようにするには、クラスターの作成時にこれらのログを受け取るよう Amazon S3 バケットを指定する必要があります。これは、`--log-uri` オプションを使用して行います。クラスターのログ記録を有効にする方法の詳細については、「*Amazon EMR 管理ガイド*」の「[ログ記録およびデバッグの設定 (オプション)](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-debugging.html)」を参照してください。

# Ganglia で HBase を監視する
<a name="emr-hbase-ganglia"></a>

**注記**  
Ganglia を含む Amazon EMR の最後のリリースは Amazon EMR 6.15.0 でした。クラスターを監視するために、6.15.0 以降のリリースには [Amazon CloudWatch](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-AmazonCloudWatchAgent.html) エージェントが含まれています。

Ganglia オープンソースプロジェクトは拡張可能な分散システムで、パフォーマンスへの影響を最小限に抑えながら、クラスターやグリッドをモニタリングできるように設計されています。クラスターで Ganglia を有効にすると、レポートを生成し、クラスター全体のパフォーマンスを表示するだけでなく、個別のノードインスタンスのパフォーマンスを調べることができます。Ganglia オープンソースプロジェクトの詳細については、[http://ganglia.info/](http://ganglia.info/) を参照してください。Amazon EMR クラスターでの Ganglia の使用の詳細については、「[Ganglia](emr-ganglia.md)」を参照してください。

Ganglia を設定してクラスターを起動した後は、プライマリノードで実行中のグラフィカルインターフェイスを使用して、Ganglia のグラフやレポートにアクセスできます。

Ganglia は `/mnt/var/lib/ganglia/rrds/` ディレクトリのプライマリノードにログファイルを保存します。Amazon EMR の以前のリリースバージョンは `/var/log/ganglia/rrds/` ディレクトリにログファイルを保存する場合があります。

**を使用して Ganglia と HBase のクラスターを設定するには AWS CLI**
+ 以下のような `create-cluster` コマンドを使用します。

  ```
  aws emr create-cluster --name "Test cluster" --release-label emr-7.12.0 \
  --applications Name=HBase Name=Ganglia --use-default-roles \
  --ec2-attributes KeyName=myKey --instance-type m5.xlarge \
  --instance-count 3
  ```
**注記**  
デフォルトの Amazon EMR サービスロールと Amazon EC2 インスタンスプロファイルが存在しない場合、エラーが発生します。`aws emr create-default-roles` コマンドを使用して作成してから、もう一度お試しください。

  詳細については、「[AWS CLIの Amazon EMR コマンド](https://docs.aws.amazon.com/cli/latest/reference/emr)」を参照してください。

**Ganglia のウェブインターフェイスで HBase メトリクスを表示するには**

1. SSH を使用してプライマリノードにトンネル接続し、安全な接続を確立します。詳細については、「*Amazon EMR 管理ガイド*」の「[Option 2, part 1: Set up an SSH tunnel to the primary node using dynamic port forwarding](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-ssh-tunnel.html)」を参照してください。

1. Firefox 用 FoxyProxy プラグインなどのプロキシツールを使用してウェブブラウザをインストールし、 AWS ドメインの SOCKS プロキシを作成します。詳細については、「*Amazon EMR 管理ガイド*」の「[Option 2, part 2: Configure proxy settings to view websites hosted on the primary node](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-proxy.html)」を参照してください。

1. プロキシセットと SSH 接続が開いている場合、Ganglia メトリクスを表示するには、ブラウザウィンドウで http://*master-public-dns-name*/ganglia/ を開きます。*master-public-dns-name* は、HBase クラスターのマスターサーバーのパブリック DNS アドレスです。

**プライマリノードで Ganglia ログファイルを表示するには**
+ クラスターが実行中の場合、ログファイルにアクセスするには、SSH を使用してプライマリノードに接続し、`/mnt/var/lib/ganglia/rrds/` ディレクトリに移動します。EMR 3.x の場合、`/var/log/ganglia/rrds` ディレクトリに移動します。詳細については、「*Amazon EMR 管理ガイド*」の「[Connect to the primary node using SSH](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-ssh.html)」を参照してください。

**Amazon S3 で Ganglia ログファイルを表示するには**
+ クラスターのログを有効にしても、Ganglia ログファイルは自動的に Amazon S3 に書き込まれません。Amazon S3 で Ganglia ログファイルを表示するには、`/mnt/var/lib/ganglia/rrds/` から S3 バケットにログを手動でプッシュする必要があります。

# Amazon CloudWatch で EMR HBase のイベントのモニタリング
<a name="emr-hbase-cw"></a>

EMR 7.0 以降、Amazon EMR は Amazon CloudWatch エージェントを提供して CloudWatch または Prometheus にメトリクスを送信し、Ganglia モニタリングシステムを置き換えます。詳細については、「[Amazon CloudWatch エージェント設定ガイド](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-config-700.html)」を参照してください。

 EMR 7.0 Amazon CloudWatch エージェントは基本的な統合を提供しましたが、設定にはコンポーネントのダウンロードやブートストラップアクションの使用など、手動作業が必要でした。ただし、EMR 7.1 以降では、プロセスは簡素化されています。EMR 7.1 で Amazon CloudWatch エージェントを使用することにより、HBase のメトリクスを含め、システムレベルとアプリケーション固有のメトリクスの両方を簡単にモニタリングできます。EMR 設定 API を使用することにより、メトリクス収集プロセスをすばやく設定およびカスタマイズし、データを Amazon CloudWatch または Prometheus に送信する場所を選択できます。この柔軟性により、HBase クラスターを注意深く監視し、円滑かつ効率的に動作させることができます。

EMR 設定 API を使用してセットアップ全体を処理することで、プロセスが大幅にスムーズになります。EMR 7.1 の CloudWatch エージェントは、主に 3 種類のメトリクスをサポートしています:
+ **システムメトリクス** – これには、CPU 使用率、ディスク使用率、メモリ使用率、ネットワーク I/O、プロセス、スワップ使用率などのシステムパフォーマンスの主要な指標が含まれます。
+ **Hadoop デーモンメトリクス** – これらのメトリクスは、DataNode メトリクス、NameNode メトリクス、YARN NodeManager メトリクス、YARN ResourceManager メトリクスなど、Hadoop のさまざまなコンポーネントに関連しています。
+ **HBase メトリクス** – これらのメトリクスは HBase のパフォーマンスに関するインサイトを提供します。HBase マスターメトリクス、HBase リージョンサーバーメトリクス、HBase REST サーバーメトリクス、HBase Thrift Server メトリクスです。

------
#### [ Using the AWS CLI ]

Hadoop と HBase のすべてのメトリクスは JMX ベースです。つまり、Java Management Extensions を使用して詳細なインサイトを提供します。HBase をモニタリングするように Amazon CloudWatch エージェントをセットアップする方法は以下のとおりです。
+ Amazon CloudWatch Agent でクラスターを作成する前に、「[前提条件](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-create.html)」を参照してください。このリストの後に表示されるサンプルのような `create-cluster` コマンドを使用します。
+ HBase クラスターでサポートされている「[設定](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-config.html)」を参照してください。
+ HBase モニタリングを設定する設定例については、以下のサンプルを参照してください。`--configuration` 入力の設定例を参照してください。

```
aws emr create-cluster --name "HBase cluster with CloudWatch agent" \
--release-label emr-7.1.0 \
--applications Name=HBase Name=AmazonCloudWatchAgent \
--ec2-attributes KeyName=myKey --instance-type m7g.2xlarge \
--configurations file://./configurations.json \  
--instance-count 3 --use-default-roles
```

メトリクスの JSON サンプル設定の詳細については、「[Set up metrics](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hbase-setting-up-metrics.html)」を参照してください。

------
#### [ Using the console ]

コンソールを操作して Amazon CloudWatch エージェントでクラスターを作成するには、これらのステップを実行します:

**コンソールを操作して CloudWatch エージェントでクラスターを作成する**

1. にサインインし AWS マネジメントコンソール、[https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr) で Amazon EMR コンソールを開きます。

1. **[クラスターを作成]** を選択します。

1. **[名前とアプリケーション]** で、Amazon EMR リリース 7.0.0 以降を選択します。

1. **[アプリケーションバンドル]** で、クラスターにインストールする HBase および追加のアプリを選択し、選択内容に CloudWatch エージェントを含めます。

1. **[ソフトウェア設定]** を展開します。コンソールで JSON またはシャドウテキストに倣った短縮構文を使用して、設定を直接入力できます。それ以外の方法として、JSON の `Configurations` オブジェクトとしてファイルの Amazon S3 URI を指定することもできます。メトリクスの JSON サンプル設定の詳細については、「[Set up metrics](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hbase-setting-up-metrics.html)」を参照してください。

1. ユースケースのニーズを満たすクラスターの作成に進みます。



------

# メトリクスを設定する
<a name="emr-hbase-setting-up-metrics"></a>

HBase Master をモニタリングするには、Amazon CloudWatch エージェントを設定して特定のメトリクスを収集します。

1. **HBase マスターメトリクスのセットアップ** – HBase マスターをモニタリングするには、Amazon CloudWatch エージェントを設定して特定のメトリクスを収集できます。マスター割り当てマネージャーのアクティビティを追跡するための設定例を以下に示します:

   ```
   [
     {
       "Classification": "emr-metrics",
       "Properties": {},
       "Configurations": [
         {
           "Classification": "emr-hbase-master-metrics",
           "Properties": {
             "Hadoop:service=HBase,name=Master,sub=AssignmentManager": "AssignFailedCount,AssignSubmittedCount",
             "otel.metric.export.interval": "30000"
           },
           "Configurations": []
         }
       ]
     }
   ]
   ```

   この設定では、
   + MBean (`Hadoop:service=HBase,name=Master,sub=AssignmentManager`) を指定して、`AssignFailedCount` や `AssignSubmittedCount` などのメトリクスを収集します。
   + これらのメトリクスを 30 秒 (30,000 ミリ秒) ごとに収集するように間隔を設定します。

1. **HBase リージョンサーバーメトリクスの設定** – HBase リージョンサーバーをモニタリングするには、CloudWatch エージェントを以下のように設定します:

   ```
   [
     {
       "Classification": "emr-metrics",
       "Properties": {},
       "Configurations": [
         {
           "Classification": "emr-hbase-region-server-metrics",
           "Properties": {
             "Hadoop:service=HBase,name=RegionServer,sub=IPC": "numActiveHandler,numActivePriorityHandler",
             "otel.metric.export.interval": "30000"
           },
           "Configurations": []
         }
       ]
     }
   ]
   ```

   この設定では、
   + リージョンサーバー (`numActiveHandler`、`numActivePriorityHandler`) のアクティブなハンドラーをモニタリングします。
   + メトリクス収集に 30 秒間隔を使用します。

1. **HBase REST Server メトリクスのセットアップ** – HBase REST インターフェイスをモニタリングするには、以下の設定を使用できます:

   ```
   [
     {
       "Classification": "emr-metrics",
       "Properties": {},
       "Configurations": [
         {
           "Classification": "emr-hbase-rest-server-metrics",
           "Properties": {
             "Hadoop:service=HBase,name=REST": "successfulPut,successfulScanCount",
             "otel.metric.export.interval": "30000"
           },
           "Configurations": []
         }
       ]
     }
   ]
   ```

   この例では、CloudWatch エージェントは 30 秒ごとに正常な PUT オペレーションとスキャン数に関するメトリクスを収集します。

1. **HBase Thrift サーバーメトリクスのセットアップ** – HBase Thrift サーバーをモニタリングするには、以下のような設定でメトリクスを設定できます:

   ```
   [
     {
       "Classification": "emr-metrics",
       "Properties": {},
       "Configurations": [
         {
           "Classification": "emr-hbase-thrift-server-metrics",
           "Properties": {
             "Hadoop:service=HBase,name=Thrift,sub=ThriftOne": "BatchGet_max,BatchGet_mean",
             "otel.metric.export.interval": "30000"
           },
           "Configurations": []
         }
       ]
     }
   ]
   ```

   この設定では、Thrift サーバーでのバッチ GET オペレーションの最大時間と平均時間を追跡します。

# メトリクスの送信先の使用
<a name="emr-hbase-using-metrics"></a>

EMR 7.1 では、メトリクスデータを Amazon CloudWatch または Amazon Managed Service for Prometheus に送信するオプションがあります。この選択により、必要性に応じてさまざまなモニタリングツールとシームレスに統合できます。

## Amazon CloudWatch へのメトリクスの送信
<a name="emr-hbase-using-metrics-cw"></a>

CloudWatch にメトリクスを送信するには、この設定を使用します:

```
[
  {
    "Classification": "emr-metrics",
    "Properties": {
      "metrics_destination": "cloudwatch"
    },
    "Configurations": []
  }
]
```

## EKS メトリクスを Amazon Managed Service for Prometheus の転送
<a name="emr-hbase-using-metrics-prom"></a>

Prometheus を使用する場合は、送信先を設定し、エンドポイント URL を指定します:

```
[
  {
    "Classification": "emr-metrics",
    "Properties": {
      "metrics_destination": "prometheus",
      "prometheus_endpoint": "https://aps-workspaces.region.amazonaws.com/workspaces/workspace_id/api/v1/remote_write"
    },
    "Configurations": []
  }
]
```

を AWS リージョン`region`に、 を Prometheus ワークスペース ID `workspace_id`に置き換えます。この設定では、指定されたエンドポイントを使用して HBase メトリクスを Prometheus に送信します。

上記のセットアップでは、**[モニタリング]** タブに以下のメトリクスが表示されます。

# HBase の以前のバージョンからの移行
<a name="emr-hbase-migrate"></a>

HBase の以前のバージョンからデータを移行するには、Apache HBase リファレンスガイドの「[Upgrading](https://hbase.apache.org/book.html#upgrading)」および「[HBase version number and compatibility](https://hbase.apache.org/book.html#hbase.versioning)」を参照してください。HBase の 1.0 バージョンより以前のバージョンからアップグレードする場合は、要件に特にご注意ください。

## Amazon EMR バージョン 7.4.0 以降への移行
<a name="emr-hbase-migrate-versions"></a>

**注記**  
7.4.0 より前の EMR リリースから 7.3.0 より大きいリリースに移行する場合は、このガイドラインに従ってください。

Amazon のストアファイル追跡機能が有効になっている EMR バージョンを現在実行していて、バージョン 6.2.0〜7.3.0 に含まれている場合、7.3.0 以降の EMR バージョンで利用可能な OSS ストアファイル追跡を使用するバージョンにアップグレードするには、以下のステップに従います:

1. 既存のクラスターの場合:

   1. `hbase:storefile` テーブルを無効にします。

   1. `hbase:storefile` テーブルをドロップします。

   1. `hbase:meta` をフラッシュします。

   1. メタデータが更新されるまで待ちます。

1. 新しいクラスターで:

   1. ルートディレクトリと同じ Amazon S3 ディレクトリを設定します。

   1. `DefaultStoreFileTracker` 実装でクラスターを起動します:

      ```
      {
        "Classification": "hbase-site",
        "Properties": {
          hbase.store.file-tracker.impl: "org.apache.hadoop.hbase.regionserver.storefiletracker.DefaultStoreFileTracker"
         }
      }
      ```

   1. テーブルまたは列ファミリーレベルで、以下のコマンドを使用してストアファイルトラッカーを変更します:

      1. テーブルの、またはテーブル列ファミリーの Store File Tracker を変更します:

         ```
         hbase> change_sft 't1','FILE'
         hbase> change_sft 't2','cf1','FILE'
         ```

      1. 指定された正規表現 (regex) と一致するテーブルのすべての Store File Tracker を変更します。

         ```
         hbase> change_sft_all 't.*','FILE'
         hbase> change_sft_all 'ns:.*','FILE'
         hbase> change_sft_all 'ns:t.*','FILE'
         ```

# HBase リリース履歴
<a name="HBase-release-history"></a>

次の表は、Amazon EMR の各リリースに含まれている HBase のバージョンと、アプリケーションと共にインストールされるコンポーネントを示しています。各リリースのコンポーネントバージョンについては、[Amazon EMR 7.x リリースバージョン](emr-release-7x.md)、[Amazon EMR 6.x リリースバージョン](emr-release-6x.md) または [Amazon EMR 5.x リリースバージョン](emr-release-5x.md) でリリースに応じたコンポーネントバージョンのセクションを参照してください。


**HBase バージョン情報**  

| Amazon EMR リリースラベル | HBase バージョン | HBase でインストールされるコンポーネント | 
| --- | --- | --- | 
| emr-7.12.0 | 2.6.2-amzn-3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-hdfs-zkfc, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-7.11.0 | 2.6.2-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-hdfs-zkfc, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-7.10.0 | 2.6.2-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-7.9.0 | 2.6.2-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-7.8.0 | 2.6.1-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-7.7.0 | 2.6.1-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-7.6.0 | 2.6.1-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-7.5.0 | 2.5.10-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-7.4.0 | 2.5.5-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-7.3.0 | 2.4.17-amzn-7 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-7.2.0 | 2.4.17-amzn-6 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-5.36.2 | 1.4.13 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-7.1.0 | 2.4.17-amzn-5 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-7.0.0 | 2.4.17-amzn-4 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-6.15.0 | 2.4.17-amzn-3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-6.14.0 | 2.4.17-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-6.13.0 | 2.4.17-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-6.12.0 | 2.4.17-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-6.11.1 | 2.4.15-amzn-1.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-6.11.0 | 2.4.15-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-6.10.1 | 2.4.15-amzn-0.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-6.10.0 | 2.4.15-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, emr-wal-cli, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-6.9.1 | 2.4.13-amzn-0.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-6.9.0 | 2.4.13-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-6.8.1 | 2.4.12-amzn-0.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-6.8.0 | 2.4.12-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-6.7.0 | 2.4.4-amzn-3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-5.36.1 | 1.4.13 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.36.0 | 1.4.13 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-6.6.0 | 2.4.4-amzn-2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, hbase-operator-tools, zookeeper-client, zookeeper-server | 
| emr-5.35.0 | 1.4.13 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-6.5.0 | 2.4.4-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-6.4.0 | 2.4.4-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-6.3.1 | 2.2.6-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-6.3.0 | 2.2.6-amzn-1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-6.2.1 | 2.2.6-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-6.2.0 | 2.2.6-amzn-0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-6.1.1 | 2.2.5 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-6.1.0 | 2.2.5 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-6.0.1 | 2.2.3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-6.0.0 | 2.2.3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.34.0 | 1.4.13 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.33.1 | 1.4.13 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.33.0 | 1.4.13 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.32.1 | 1.4.13 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.32.0 | 1.4.13 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.31.1 | 1.4.13 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.31.0 | 1.4.13 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.30.2 | 1.4.13 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.30.1 | 1.4.13 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.30.0 | 1.4.13 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.29.0 | 1.4.10 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.28.1 | 1.4.10 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.28.0 | 1.4.10 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.27.1 | 1.4.10 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.27.0 | 1.4.10 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.26.0 | 1.4.10 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.25.0 | 1.4.9 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.24.1 | 1.4.9 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.24.0 | 1.4.9 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.23.1 | 1.4.9 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.23.0 | 1.4.9 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.22.0 | 1.4.9 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.21.2 | 1.4.8 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.21.1 | 1.4.8 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.21.0 | 1.4.8 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.20.1 | 1.4.8 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.20.0 | 1.4.8 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.19.1 | 1.4.7 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.19.0 | 1.4.7 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.18.1 | 1.4.7 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.18.0 | 1.4.7 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.17.2 | 1.4.6 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.17.1 | 1.4.6 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.17.0 | 1.4.6 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.16.1 | 1.4.4 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.16.0 | 1.4.4 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.15.1 | 1.4.4 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.15.0 | 1.4.4 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.14.2 | 1.4.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.14.1 | 1.4.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.14.0 | 1.4.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.13.1 | 1.4.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.13.0 | 1.4.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.12.3 | 1.4.0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.12.2 | 1.4.0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.12.1 | 1.4.0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.12.0 | 1.4.0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.11.4 | 1.3.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.11.3 | 1.3.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.11.2 | 1.3.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.11.1 | 1.3.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.11.0 | 1.3.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.10.1 | 1.3.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.10.0 | 1.3.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.9.1 | 1.3.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.9.0 | 1.3.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.8.3 | 1.3.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.8.2 | 1.3.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.8.1 | 1.3.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.8.0 | 1.3.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.7.1 | 1.3.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.7.0 | 1.3.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.6.1 | 1.3.0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.6.0 | 1.3.0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.5.4 | 1.3.0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.5.3 | 1.3.0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.5.2 | 1.3.0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.5.1 | 1.3.0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.5.0 | 1.3.0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.4.1 | 1.3.0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.4.0 | 1.3.0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.3.2 | 1.2.3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.3.1 | 1.2.3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.3.0 | 1.2.3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.2.3 | 1.2.3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.2.2 | 1.2.3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.2.1 | 1.2.3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.2.0 | 1.2.3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.1.1 | 1.2.3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.1.0 | 1.2.3 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.0.3 | 1.2.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.0.2 | 1.2.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.0.1 | 1.2.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-5.0.0 | 1.2.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.9.6 | 1.2.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.9.5 | 1.2.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.9.4 | 1.2.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.9.3 | 1.2.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.9.2 | 1.2.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.9.1 | 1.2.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.8.5 | 1.2.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.8.4 | 1.2.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.8.3 | 1.2.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.8.2 | 1.2.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.8.1 | 1.2.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.8.0 | 1.2.2 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.7.4 | 1.2.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.7.3 | 1.2.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.7.2 | 1.2.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.7.1 | 1.2.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.7.0 | 1.2.1 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.6.1 | 1.2.0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 
| emr-4.6.0 | 1.2.0 | emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-mapred, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hbase-hmaster, hbase-client, hbase-region-server, hbase-rest-server, hbase-thrift-server, zookeeper-client, zookeeper-server | 

**Topics**
+ [Amazon EMR 7.9.0 - HBase リリースノート](HBase-release-history-changes-790.md)

# Amazon EMR 7.9.0 - HBase リリースノート
<a name="HBase-release-history-changes-790"></a>

**HBase の変更:**


| 型 | 説明 | 
| --- | --- | 
| 変更 | hbase 分類に log4j2 が導入されると、hbase-log4j は削除されます。今後は、ログ記録関連の設定を定義するために hbase-log4j2 分類を使用します。 | 