E-MapReduce (EMR) の DataLake、Custom、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 インスタンスはプライベートネットワーク経由で通信できます。ただし、EMR クラスターの VPC の IPv4 CIDR ブロックを RDS for MySQL インスタンスのホワイトリストに追加する必要があります。
-
この設定により、EMR クラスターと RDS for MySQL インスタンス間の接続が有効になります。
-
-
異なる VPC:
-
EMR クラスターと RDS for MySQL インスタンスが異なる VPC にある場合は、VPC ピアリング接続などを使用してネットワーク接続を確立する必要があります。詳細については、「VPC ピアリング接続を使用した VPC 間のプライベート通信の有効化」をご参照ください。
-
ネットワーク接続を確立した後、EMR クラスターの VPC の IPv4 CIDR ブロックを RDS for MySQL インスタンスのホワイトリストに追加する必要もあります。
-
手順
ステップ1:メタデータデータベースの準備
-
データベースを作成します。詳細については、「データベースの作成」をご参照ください。
-
標準ユーザーアカウントを作成し、読み取り/書き込み権限を付与します。詳細については、「アカウントの作成」をご参照ください。
説明ユーザー名とパスワードを控えておいてください。これらは「ステップ2:クラスターの作成」で必要になります。
-
データベースの内部エンドポイントを取得します。
-
EMR クラスターの VPC の IPv4 CIDR ブロックを RDS for MySQL インスタンスのホワイトリストに追加します。詳細については、「IP ホワイトリストの設定」をご参照ください。
-
インスタンス詳細ページの左側メニューで、[Database Connection] をクリックします。
-
[Database Connection] ページで、内部エンドポイントをクリックしてコピーします。
説明内部エンドポイントを控えておいてください。これは「ステップ2:クラスターの作成」で必要になります。
-
ステップ2:クラスターの作成
クラスター作成ウィザードの [Software Configuration] ページで、次のパラメーターを設定します。その他のパラメーターについては、「クラスターの作成」をご参照ください。
|
DataLake および Custom パラメーター |
Hadoop パラメーター |
説明 |
|
|
[Metadata] |
[Self-managed RDS] を選択します。 説明
[Metadata] パラメーターは、DataLake または Custom クラスターで HDFS (OSS-HDFS)、YARN、および Hive サービスを選択した後にのみ表示されます。 |
||
|
javax.jdo.option.ConnectionURL |
[RDS Endpoint] |
接続 URL を
|
|
|
javax.jdo.option.ConnectionUserName |
[RDS Username] |
「ステップ1:メタデータデータベースの準備」で作成したアカウントのユーザー名を入力します。 |
|
|
javax.jdo.option.ConnectionPassword |
[RDS Password] |
「ステップ1:メタデータデータベースの準備」で作成したアカウントのパスワードを入力します。 |
|
(オプション) ステップ3:メタストアの初期化
-
初期バージョン (EMR V3.38.x 以前、EMR V4.9.x 以前、または EMR V5.4.x 以前) の Hadoop クラスターを作成した場合、または既存のクラスターのメタストアを RDS for MySQL インスタンスに切り替える場合は、メタストアを初期化する必要があります。
初期化前は、Hive メタストア、HiveServer2、および Spark ThriftServer サービスが正常に機能しない場合があります。これらのサービスは、初期化が完了すると自動的に復元されます。
-
DataLake および Custom クラスターは、指定されたデータベース接続パラメーターを使用して、作成中に Hive メタデータデータベースを自動的に初期化します。したがって、このステップはスキップできます。
-
SSH を使用してクラスターのマスターノードにログインします。詳細については、「クラスターへのログイン」をご参照ください。
-
次のコマンドを実行して、
hadoopユーザーに切り替えます。su - hadoop -
次のコマンドを実行して、メタストアを初期化します。
schematool -initSchema -dbType mysqlこれで、RDS for MySQL インスタンスが Hive メタデータデータベースとして設定されました。