Amazon EMR + 外部metastore( Amazon RDS for mysql)の構築手順
hive外部メタストアのをRDSで構築し、hiveとhueのデータ両方を格納するDBとする場合の手順。
のほほんと設定しているだけだとエラーが発生して、起動しなかったのでメモ。
まとめ
Hueもインストールするときは、create database <hue用のデータベース名>;
を実行してあらかじめつくりましょう。(完)
Amazon RDS の作成
1.適当に作成する。
2.起動後、必要であればmetastoreアクセスユーザを作成しておく。
3.user,passwordをメモしておく
4. create database <hue用のデータベース名>;
を実行してデータベースを作成しておく。
hive,hueの接続設定をかく。
Amazon EMRの起動設定のConfigurationsで利用する。
[{
"Classification": "hive-site",
"Properties": {
"javax.jdo.option.ConnectionUserName": "metastoreにアクセスするためのユーザ",
"javax.jdo.option.ConnectionPassword": "metastoreにアクセスするためのユーザパスワード",
"javax.jdo.option.ConnectionURL": "jdbc:mysql://<RDSエンドポイント>:3306/<hiveのメタストアのデータを格納するDB名>?createDatabaseIfNotExist=true"
},
"Configurations": []
},{
"Classification": "hue-ini",
"Properties": {},
"Configurations": [{
"Classification": "desktop",
"Properties": {
"time_zone": "Asia/Tokyo"
},
"Configurations": [{
"Classification": "database",
"Properties": {
"password": "metastoreにアクセスするためのユーザ",
"engine": "mysql",
"port": "3306",
"host": "<RDSエンドポイント>",
"name": "hue用のデータベース名",
"user": "metastoreにアクセスするためのユーザ"
},
"Configurations": []
}]
}, {
"Classification": "beeswax",
"Properties": {
"hive_server_port": "10000"
},
"Configurations": []
}]
}]
EMRの起動
ポイントのみ
- Configurationsに上記のJSONを書き込む。このときスペースと改行ははずす。(意味はないかもだけど)
- Security groupを適切に設定する。RDSにEMRクラスタからアクセスできること。