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.
Hinweise
- Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Dataproc Metastore API aktivieren.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Dataproc Metastores und zum Importieren eines MYSQL-Metastores benötigen:
-
So erstellen Sie einen Dienst und importieren Metadaten:
-
Dataproc Metastore-Bearbeiter (
roles/metastore.editor
) für das Projekt -
Dataproc Metastore Admin (
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
) im Dataproc Metastore-Dienst-Agent. Beispiel:service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com
-
Storage-Objekt-Betrachter (
roles/storage.objectViewer
) für das Nutzerkonto.
-
Storage Object Viewer (
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Erstellen eines Dataproc Metastores und zum Importieren eines MYSQL-Metastores erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um einen Dataproc Metastore zu erstellen und einen MYSQL-Metastore zu importieren:
-
So erstellen Sie einen Dienst:
metastore.services.create
für das Projekt. -
So importieren Sie Metadaten:
metastore.imports.create
für das Projekt. -
So verwenden Sie das Cloud Storage-Objekt (SQL-Dumpdatei) für den Import:
-
storage.objects.get
für den Dataproc Metastore-Dienst-Agent. z. B.service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com
. -
storage.objects.get
für das Nutzerkonto.
-
Möglicherweise können Sie diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Weitere Informationen zu bestimmten Dataproc Metastore-Rollen und -Berechtigungen finden Sie unter Dataproc-Zugriff mit IAM verwalten.Dataproc Metastore-Dienst erstellen
Die folgende Anleitung zeigt, 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:
Geben Sie im Feld Name des Dienstkontos
example-service
ein.Wählen Sie den Speicherort der Daten aus. Informationen zum Auswählen einer Region finden Sie unter Cloudstandorte.
Übernehmen Sie für die anderen Optionen der Dienstkonfiguration die angegebenen Standardeinstellungen.
Klicken Sie auf die Schaltfläche Senden, um den Dienst zu erstellen und zu starten.
Der neue Dienst wird in der Liste aufgeführt.
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 in der Region verfügbar ist.
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 diese in einem Cloud Storage-Bucket.
Informationen zur Vorbereitung der Migration finden Sie unter Importdateien vor dem Import vorbereiten.
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 der Metadaten in den example-service
-Dienst.
Dataproc-Cluster erstellen und anhängen
Nachdem Sie die Metadaten in den Dataproc Metastore-Dienst example-service
importiert haben, erstellen Sie und hängen Sie einen Dataproc-Cluster 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 (Beenden), 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 Service wird nicht mehr in der Serviceliste angezeigt.
gcloud
Führen Sie den folgenden Befehl
gcloud metastore services delete
aus, um einen Dienst zu löschen:gcloud metastore services delete example-service \ --location=LOCATION
Ersetzen Sie
LOCATION
durch 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.