セルフマネージド MySQL メタストアを Dataproc Metastore に移行する
このページでは、MySQL ダンプファイルを作成し、既存の Dataproc Metastore サービスにメタデータをインポートすることで、外部のセルフマネージド MySQL メタストアを Dataproc Metastore に移行する方法について説明します。
始める前に
- アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Dataproc Metastore API を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。詳しくは、ロールを付与する方法をご覧ください。
必要なロール
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 を使用した Managed Service for Apache Spark のアクセス管理をご覧ください。Dataproc Metastore サービスを作成する
次の手順では、SQL ダンプファイルの移行先となる Dataproc Metastore サービスを作成する方法を説明します。
コンソール
コンソールで [Create service] ページを開きます。 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 にインポートする
をご覧ください。
Managed Service for Apache Spark クラスタを作成して接続する
Dataproc Metastore
example-service サービスにメタデータをインポートしたら、そのサービスを Hive メタストアとして使用する Managed Service for Apache Spark クラスタ
を作成して接続します。
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、 次の手順を実施します。
- コンソールで [**リソースの管理**] ページに移動します。 Google Cloud
- 削除するプロジェクトが組織に関連付けられている場合は、[名前] 列の [組織] リストを展開します。
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログでプロジェクト ID を入力し、 [Shut down] をクリックしてプロジェクトを削除します。
あるいは、このチュートリアルで使用したリソースを削除することもできます。
Dataproc Metastore サービスを削除します。
コンソール
Google Cloud コンソールで、Dataproc Metastore ページを開きます。
サービス名の左側にあるチェックボックスをオンにして、
example-serviceを選択します。[Dataproc Metastore] ページの上部にある [削除] をクリックして、そのサービスを削除します。
ダイアログで [Delete] をクリックして、削除を確定します。
サービスがサービスの一覧に表示されなくなります。
gcloud
次の
gcloud metastore services deleteコマンドを実行して、サービスを削除します。gcloud metastore services delete example-service \ --location=LOCATIONLOCATIONは、そのサービスを作成した Compute Engine のリージョンに置き換えます。REST
API Explorer を使用し、API の手順に従ってサービスを削除します。
削除はすべてすぐに正常終了します。
Dataproc Metastore サービスの Cloud Storage バケットを削除します。