セルフマネージド MySQL メタストアを Dataproc Metastore に移行する
このページでは、MySQL ダンプファイルを作成し、既存の Dataproc Metastore サービスにメタデータをインポートすることで、外部のセルフマネージド MySQL メタストアを Dataproc Metastore に移行する方法について説明します。
準備
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Enable the Dataproc Metastore API.
必要なロール
Dataproc Metastore の作成と MYSQL メタストアのインポートに必要な権限を取得するには、管理者に次の IAM のロールを付与するよう依頼してください。
-
サービスを作成してメタデータをインポートする場合:
-
プロジェクトに対する Dataproc Metastore 編集者(
roles/metastore.editor
) -
プロジェクトに対する Dataproc Metastore 管理者(
roles/metastore.admin
)。
-
プロジェクトに対する Dataproc Metastore 編集者(
-
インポートに Cloud Storage オブジェクト(SQL ダンプファイル)を使用する場合:
-
Dataproc Metastore サービス エージェントに対するストレージ オブジェクト閲覧者(
roles/storage.objectViewer
)。例:service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com
。 -
ユーザー アカウントに対するストレージ オブジェクト閲覧者(
roles/storage.objectViewer
)。
-
Dataproc Metastore サービス エージェントに対するストレージ オブジェクト閲覧者(
ロールの付与の詳細については、アクセスの管理をご覧ください。
これらの事前定義ロールには、Dataproc Metastore の作成と MYSQL メタストアのインポートに必要な権限が含まれています。必要な権限を正確に確認するには、[必要な権限] セクションを開いてください。
必要な権限
Dataproc Metastore を作成し、MYSQL メタストアをインポートするには、次の権限が必要です。
-
サービスを作成するには: プロジェクトに対する
metastore.services.create
。 -
メタデータをインポートするには: プロジェクトに対する
metastore.imports.create
。 -
インポートに Cloud Storage オブジェクト(SQL ダンプファイル)を使用するには:
-
Dataproc Metastore サービス エージェントに対する
storage.objects.get
。例:service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com
。 -
ユーザー アカウントに対する
storage.objects.get
。
-
Dataproc Metastore サービス エージェントに対する
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
Dataproc Metastore の特定のロールと権限については、IAM による Dataproc のアクセス管理をご覧ください。Dataproc Metastore サービスを作成する
次の手順では、SQL ダンプファイルの移行先となる Dataproc Metastore サービスを作成する方法を説明します。
コンソール
Google Cloud コンソールで [サービスの作成] ページを開きます。
Dataproc Metastore の [サービスの作成] ページ [サービス名] フィールドに「
example-service
」と入力します。[Data location] を選択します。 リージョンの選択については、Cloud のロケーションをご覧ください。
その他のサービス構成オプションには、指定されたデフォルト値を使用します。
サービスを作成して開始するには、[送信] ボタンをクリックします。
サービスの一覧に新しいサービスが表示されます。
gcloud
次のgcloud metastore services create
コマンドを実行してサービスを作成します。
gcloud metastore services create example-service \ --location=LOCATION
LOCATION
は、サービスを作成する予定の Compute Engine のリージョンに置き換えます。そのリージョンで Dataproc Metastore が利用可能であることを確認します。
REST
API Explorer を使用し、API の手順に従ってサービスを作成します。
移行の準備を行う
MySQL ダンプファイルを作成して Cloud Storage バケットに配置することで、Hive メタストア データベースに保存されているインポート用メタデータを準備する必要があります。
移行の準備手順については、インポート前にインポート ファイルを準備するをご覧ください。
メタデータをインポートする
これでダンプの準備ができたので、ダンプを Dataproc Metastore サービスにインポートします。
example-service
サービスにメタデータをインポートする手順については、Dataproc Metastore へのファイルのインポートをご覧ください。
Dataproc クラスタを作成して接続する
Dataproc Metastore example-service
サービスにメタデータをインポートしたら、そのサービスを Hive メタストアとして使用する Dataproc クラスタを作成してアタッチします。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。
- In the Google Cloud console, go to the Manage resources page.
- If the project that you plan to delete is attached to an organization, expand the Organization list in the Name column.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
あるいは、このチュートリアルで使用したリソースを削除することもできます。
Dataproc Metastore サービスを削除します。
Console
Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。
サービス名の左側にあるチェックボックスをオンにして、
example-service
を選択します。[Dataproc Metastore] ページの上部にある [削除] をクリックして、そのサービスを削除します。
ダイアログで [Delete] をクリックして、削除を確定します。
サービスがサービスの一覧に表示されなくなります。
gcloud
次の
gcloud metastore services delete
コマンドを実行して、サービスを削除します。gcloud metastore services delete example-service \ --location=LOCATION
LOCATION
は、そのサービスを作成した Compute Engine のリージョンに置き換えます。REST
API Explorer を使用し、API の手順に従ってサービスを削除します。
削除はすべてすぐに正常終了します。
Dataproc Metastore サービスの Cloud Storage バケットを削除します。