E-MapReduce(EMR)の DataLake クラスター、カスタムクラスター、または Hadoop クラスターのメタデータストレージサービスとして、セルフホスト型 RDS for MySQL データベースまたは ApsaraDB RDS for MySQL データベースを使用できます。
前提条件
RDS for MySQL インスタンスを作成済みであること。
このトピックでは、ApsaraDB RDS for MySQL インスタンスの購入を例として使用します。 詳細については、「ApsaraDB RDS for MySQL インスタンスを作成する」をご参照ください。
注意事項
作成する EMR クラスターと既存の RDS for MySQL インスタンス間のネットワーク接続を確認し、動作することを確認してください。
ApsaraDB RDS for MySQL インスタンスを使用している場合:
同じ VPC:
EMR クラスターと RDS for MySQL インスタンスは、デフォルトでプライベートネットワークを介して通信できます。 ただし、RDS for MySQL インスタンスでホワイトリストを構成する必要があります。 EMR クラスターを作成する VPC の IPv4 CIDR ブロックを許可されたアクセス範囲に追加します。
ホワイトリストを構成した後、接続を作成できます。
異なる VPC:
EMR クラスターと RDS for MySQL インスタンスが異なる VPC にある場合は、VPC ピアリング接続などの方法でネットワーク接続を確立できます。 詳細については、「VPC 間のプライベートネットワーク通信に VPC ピアリング接続を使用する」をご参照ください。
接続後、RDS for MySQL インスタンスでホワイトリストを構成する必要があります。 次に、EMR クラスターを作成する VPC の IPv4 CIDR ブロックをアクセス範囲に追加します。
手順
ステップ 1:メタデータベースを準備する
データベースを作成します。 詳細については、「データベースを作成する」をご参照ください。
標準アカウントを作成し、そのアカウントに読み取りおよび書き込み権限を付与します。 詳細については、「アカウントを作成する」をご参照ください。
説明アカウントのユーザー名とパスワードを記録します。 これらはステップ 2:クラスターを作成するで使用されます。
データベースの内部エンドポイントを取得します。
EMR クラスターを作成する VPC の IPv4 CIDR ブロックを、RDS for MySQL インスタンスのホワイトリストに追加します。 詳細については、「IP アドレスホワイトリストを構成する」をご参照ください。
インスタンス詳細ページの左側のナビゲーションウィンドウで、[データベース接続] をクリックします。
[データベース接続] ページで、内部エンドポイントのアドレスをクリックしてコピーします。
説明内部エンドポイントを記録します。 これらはステップ 2:クラスターを作成するで使用されます。

ステップ 2:クラスターを作成する
[ソフトウェア構成] ステップで、次の表に示すパラメーターを構成します。 その他のパラメーターの詳細については、「クラスターを作成する」をご参照ください。
DataLake およびカスタムクラスターパラメーター | Hadoop クラスターパラメーター | 説明 | |
メタデータ | [セルフマネージド RDS] を選択します。 説明 [メタデータ] パラメーターは、DataLake クラスターとカスタムクラスターで HDFS(OSS-HDFS)、YARN、および Hive サービスを選択した場合にのみ使用できます。 | ||
javax.jdo.option.ConnectionURL | RDS エンドポイント |
| |
javax.jdo.option.ConnectionUserName | RDS ユーザー名 | ステップ 1:メタデータベースを準備するで記録したユーザー名を入力します。 | |
javax.jdo.option.ConnectionPassword | RDS パスワード | ステップ 1:メタデータベースを準備するで記録したパスワードを入力します。 | |
(オプション)ステップ 3:Metastore サービスを初期化する
前のステップで EMR V3.38.X 以前、EMR V4.9.X 以前、または EMR V5.4.X 以前の Hadoop クラスターを作成した場合、または既存のクラスターのメタデータストレージを RDS for MySQL データベースに変更した場合は、Metastore サービスを初期化する必要があります。
Metastore サービスが初期化される前は、Hive の HiveMetaStore コンポーネントと HiveServer2 コンポーネント、および Spark の ThriftServer コンポーネントが異常な状態になっている可能性があります。 これらのコンポーネントは、初期化後に回復します。
DataLake クラスターまたはカスタムクラスターを使用する場合は、このステップをスキップします。 作成中に Hive メタデータベースが自動的に初期化されます。
SSH モードでクラスターのマスターノードにログオンします。 詳細については、「クラスターにログオンする」をご参照ください。
次のコマンドを実行して、hadoop ユーザーに切り替えます。
su - hadoop次のコマンドを実行して、Metastore サービスを初期化します。
schematool -initSchema -dbType mysqlサービスが初期化された後、RDS for MySQL データベースを Hive メタデータベースとして使用できます。