VPC環境で利用できます。
このガイドは、NAVERクラウドプラットフォームの Cloud DB for MySQLを Cloud Hadoopの External Hive Metastoreに連携する方法を説明します。
事前タスク
- Cloud Hadoopクラスタを作成します。
- Cloud Hadoopクラスタ作成に関する詳細は、Cloud Hadoop を開始するガイドをご参照ください。
- Cloud DB for MySQLを作成します。
- MySQL 8.0.xバージョンでのみ連携できますので、MySQL 8.0.xバージョンに作成します。
- Cloud DB for MySQLの作成に関する詳細は、Cloud DB for MySQL Serverの作成ガイドをご参照ください。
- 作成完了後、Cloud Hadoopと連携するには、Database > Cloud DB for MySQL > DB管理 > DB Config管理で
sql_require_primary_key設定を OFFに変更します。

- ACGを設定します。
- Cloud Hadoopで Cloud DB for MySQLサービスにアクセスするために、Cloud DB for MySQL ACGのアクセスソースに Cloud Hadoop ACGを入れ、すべての通信(1-65535)ポートを許可してください。

- Cloud Hadoopで Cloud DB for MySQLサービスにアクセスするために、Cloud DB for MySQL ACGのアクセスソースに Cloud Hadoop ACGを入れ、すべての通信(1-65535)ポートを許可してください。
参考
Cloud Hadoopと Cloud DB for MySQLは、通信を行える同じ VPC内で作成する必要があります。
注意
現在、MySQL 8.0.xバージョンでのみ連携できます。
外部 Hive Metastore
外部 Hive Metastoreと連携
Hive Metastoreサーバは、メタデータを管理するために DB保存場所を利用します。基本設定は、Cloud Hadoop内にインストールされた MySQLを利用するように設定されています。
外部 Hive Metastoreとの連携方式を利用して、Cloud DB for MySQLを Hive Metastoreサーバのメタデータ保存場所に変更して利用できます。
Metastore保存場所の変更タスクによる Hive Metastoreのサーバ再起動が自動で行われるため、実行中の Hive Jobがあるかご確認ください。
メタデータ保存場所の変更には、既存のメタデータの移転は含まれません。
外部 Hive Metastoreに変更する方法は、次の通りです。

- NAVERクラウドプラットフォームコンソールの VPC環境で、Menu > Services > Big Data & Analytics > Cloud Hadoopメニューを順にクリックします。
- クラスタリストで連携するクラスタを選択し、 [クラスタ管理] > 外部 Hiveメタストアを連携をクリックします。
- USER_IDと Passwordを入力し、 [TEST CONNECTION] ボタンをクリックします。
- Cloud DB for MySQLの Password Plugin設定により、利用に制限がある場合があります。
Cloud Hadoop外部 Hiveメタストアアカウントポリシーに合わせて Cloud DB for MySQLアカウントを管理し、連携する必要があります。
- Cloud DB for MySQLの Password Plugin設定により、利用に制限がある場合があります。
- TEST CONNECTIONが正常であることを確認した後、 [はい] ボタンをクリックします。
- TEST CONNECTIONが成功するには、以下の事項を事前に行う必要があります。
- TEST CONNECTIONを実行した後、コンソールメッセージの内容を参照すると、正常の有無を確認できます。
- 正常: Cloud DB for MySQLへのアクセステストが正常です。
- ACGブロック: Cloud Hadoopで DBサーバへのアクセスがブロックされたステータスです。Cloud DB for MySQLの ACG設定を変更してください。
- アカウント&パスワードの誤入力: アカウントまたはパスワードが正しく入力されていません。アカウントとパスワードを正確に入力してください。
- パスワードポリシーの違反: Userパスワードは最小8文字以上、最大20文字まで入力でき、英字の大小文字、記号、数字が各1文字以上含まれる必要があります。記号('、"、`、|、/、&、+、Space)は入力できません。
- アカウント DDL未保有: 入力したアカウントが DDLコマンドを実行できません。DB権限を DDLに変更します。
- Cloud DB for MySQL内の DB作成プロシージャがない場合: Database制御が不安定です。プロシージャの sys.ncp_create_dbが正常に動作するかを確認します。
- 既に連携された Cloud DB for MySQLの場合: リクエストした DBサービスは現在 Cloud Hadoopと連携されている状態です。他の DBサービスを選択してください。
- マスターノードがダウンしたステータス: Cloud Hadoopマスターノードのステータスが異常です。サーバメンテナンスが必要です。
- 原因不明のエラー: お問い合わせにてご依頼ください。
- ユーザーのクラスタで Hiveが削除されている場合: Cloud Hadoopに Hiveがインストールされていません。クラスタを確認します。
- 外部 Hive Metastoreとの連携タスクが開始されると、クラスタリストまたは詳細情報のステータス(Status)項目が設定中に変わり、タスクが完了すると再び運用中と表示されます。

- MySQLの連携結果を確認します。
- Serverサービスで作成した Rockyサーバにアクセスした後、以下のように MySQLドメインにアクセスし、
hive_***_CHadoopデータベースと内部テーブルが正常に作成されているか確認します。
$ yum -y install mysql $ mysql --version $ mysql -u [アカウント名] -p -h [mysqlドメイン] mysql> show databases; # Cloud Hadoopクラスタとの連携時、hive_***_CHadoop DBの出力有無を確認 mysql> use hive_***_CHadoop; # hive_***_Chadoop DBを使用 mysql> show tables; # tableの出力有無を確認 - Serverサービスで作成した Rockyサーバにアクセスした後、以下のように MySQLドメインにアクセスし、