Selbstverwalteten MySQL-Metastore zu Dataproc Metastore migrieren
Auf dieser Seite erfahren Sie, wie Sie Ihren externen selbstverwalteten MySQL-Metastore zu Dataproc Metastore migrieren. Dazu erstellen Sie eine MySQL-Dumpdatei und importieren die Metadaten in einen vorhandenen Dataproc Metastore-Dienst.
Hinweis
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie noch kein Google Cloud-Nutzer sind, erstellen Sie ein Konto, um zu sehen, wie sich unsere Produkte in realen Szenarien schlagen. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
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.
-
Aktivieren Sie die Dataproc Metastore API.
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Informationen zum Zuweisen von Rollen.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Dataproc Metastore und zum Importieren eines MySQL-Metastore benötigen:
-
So erstellen Sie einen Dienst und importieren Metadaten:
- Dataproc Metastore-Bearbeiter (
roles/metastore.editor) für das Projekt - Dataproc Metastore-Administrator (
roles/metastore.admin) für das Projekt
- Dataproc Metastore-Bearbeiter (
-
So verwenden Sie das Cloud Storage-Objekt (SQL-Dumpdatei) für den Import:
- Storage Object Viewer (
roles/storage.objectViewer) für den Dataproc Metastore-Dienst-Agenten Beispiel:service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com - Storage Object Viewer (
roles/storage.objectViewer) für das Nutzerkonto
- Storage Object Viewer (
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Erstellen eines Dataproc Metastore und zum Importieren eines MySQL-Metastore erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen , um die notwendigen Berechtigungen anzuzeigen, die erforderlich sind:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Erstellen eines Dataproc Metastore und zum Importieren eines MySQL-Metastore erforderlich:
-
So erstellen Sie einen Dienst:
metastore.services.createfür das Projekt. -
So importieren Sie Metadaten:
metastore.imports.createfür das Projekt. -
So verwenden Sie das Cloud Storage-Objekt (SQL-Dumpdatei) für den Import:
-
storage.objects.getfür den Dataproc Metastore-Dienst-Agenten Beispiel:service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com -
storage.objects.getfür das Nutzerkonto
-
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Weitere Informationen zu bestimmten Dataproc Metastore-Rollen und -Berechtigungen finden Sie unter Zugriff auf Managed Service for Apache Spark mit IAM verwalten.Dataproc Metastore-Dienst erstellen
In der folgenden Anleitung wird gezeigt, wie Sie einen Dataproc Metastore-Dienst erstellen, zu dem Sie Ihre SQL-Dumpdatei migrieren können.
Console
Öffnen Sie in der Google Cloud Console- die Seite Dienst erstellen:
Die Seite „Dienst erstellen“ von Dataproc Metastore Geben Sie im Feld Name des Dienstes
example-serviceein.Wählen Sie den Speicherort der Daten aus. Informationen zum Auswählen einer Region finden Sie unter Cloud-Standorte.
Übernehmen Sie für die anderen Optionen der Dienstkonfiguration die angegebenen Standardeinstellungen.
Klicken Sie auf den Button Senden, um den Dienst zu erstellen und zu starten.
Ihr neuer Dienst wird in der Liste „Dienste“ angezeigt.
gcloud
Führen Sie den folgenden Befehl gcloud metastore services create aus, um einen Dienst zu erstellen:
gcloud metastore services create example-service \
--location=LOCATION
Ersetzen Sie LOCATION durch die Compute Engine-Region
, in der Sie den Dienst erstellen möchten. Prüfen Sie, ob Dataproc Metastore verfügbar ist
in der Region.
REST
Folgen Sie der API-Anleitung zum Erstellen eines Dienstes mit dem APIs Explorer.
Migration vorbereiten
Sie müssen jetzt die in Ihrer Hive-Metastore-Datenbank gespeicherten Metadaten für den Import vorbereiten. Erstellen Sie dazu eine MySQL-Dumpdatei und platzieren Sie sie in einem Cloud Storage-Bucket.
Unter Importdateien vor dem Import vorbereiten finden Sie eine Anleitung zur Vorbereitung auf die Migration.
Metadaten importieren
Nachdem Sie die Dumpdatei vorbereitet haben, importieren Sie sie in Ihren Dataproc Metastore-Dienst.
Unter Dateien in Dataproc Metastore importieren
finden Sie eine Anleitung zum Importieren Ihrer Metadaten in den Dienst example-service.
Managed Service for Apache Spark-Cluster erstellen und anhängen
Nachdem Sie die Metadaten in den Dataproc Metastore
example-service Dienst importiert haben, erstellen Sie einen Managed Service for Apache Spark-Cluster und hängen Sie ihn an
, der den Dienst als Hive-Metastore verwendet.
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:
- Wechseln Sie in der Google Cloud -Console zur Seite Ressourcen verwalten.
- Wenn das Projekt, das Sie löschen möchten, an eine Organisation geknüpft ist, maximieren Sie in der Spalte Name die Liste Organisation.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Herunterfahren), um das Projekt zu löschen.
Alternativ können Sie die Ressourcen löschen, die in dieser Anleitung verwendet werden:
Löschen Sie den Dataproc Metastore-Dienst.
Console
Öffnen Sie in der Google Cloud Console- die Seite „Dataproc Metastore“:
Klicken Sie links neben dem Dienstnamen auf das Kästchen für
example-service.Klicken Sie oben auf der Seite Dataproc Metastore auf Löschen, um den Dienst zu löschen.
Klicken Sie im Dialogfeld auf Löschen, um den Löschvorgang zu bestätigen.
Ihr Dienst wird nicht mehr in der Liste „Dienste“ angezeigt.
gcloud
Führen Sie den folgenden Befehl
gcloud metastore services deleteaus, um einen Dienst zu löschen:gcloud metastore services delete example-service \ --location=LOCATIONErsetzen Sie
LOCATIONdurch die Compute Engine Region, in der Sie den Dienst erstellt haben.REST
Folgen Sie der API-Anleitung, um einen Dienst mithilfe des APIs Explorers zu löschen.
Alle Löschvorgänge werden sofort ausgeführt.
Löschen Sie den Cloud Storage-Bucket für den Dataproc Metastore-Dienst.