Auf dieser Seite erfahren Sie, wie Sie Ihr Google Cloud-Projekt für eine verwaltete Migration zu Dataproc Metastore vorbereiten.
Hinweise
Informieren Sie sich über die Funktionsweise der verwalteten Migration.
Sie müssen die folgenden Dienste einrichten oder darauf zugreifen können:
- Ein Dataproc Metastore, der mit dem Spanner-Datenbanktyp konfiguriert ist.
Eine Cloud SQL for MySQL-Datenbankinstanz, die mit Privat konfiguriert wurde IP. Achten Sie für die Cloud SQL-Instanz auf Folgendes:
Die Cloud SQL-Instanz ist mit einem VPC-Netzwerk konfiguriert, das die erforderlichen Subnetze.
Die Cloud SQL-Instanz verwendet ein Datenbankschema, das mit Hive kompatibel ist. Metastore-Version, die im Dataproc Metastore-Dienst ausgeführt wird wo Daten kopiert werden.
Die Cloud SQL-Instanz enthält die entsprechenden Nutzer, um eine Verbindung zwischen Datastream und Dataproc Metastore sowie zwischen Dataproc Metastore und Cloud SQL herzustellen.
Erforderliche Rollen
So erhalten Sie die Berechtigungen, die Sie zum Erstellen eines Dataproc Metastores und zum Starten einer verwalteten Migration benötigen: bitten Sie Ihren Administrator, Ihnen folgenden IAM-Rollen:
-
So gewähren Sie vollständigen Zugriff auf alle Dataproc Metastore-Ressourcen, einschließlich der Festlegung von IAM-Berechtigungen:
Dataproc Metastore Admin (
roles/metastore.admin
) für das Dataproc Metastore-Nutzerkonto oder -Dienstkonto -
So gewähren Sie die vollständige Kontrolle über Dataproc Metastore-Ressourcen:
Dataproc Metastore-Bearbeiter (
roles/metastore.editor
) für das Dataproc Metastore-Nutzerkonto oder -Dienstkonto -
So gewähren Sie die Berechtigung zum Starten einer Migration:
Migration Admin (
roles/metastore.migrationAdmin
) für den Dataproc Metastore-Dienst-Agent im Dienstprojekt
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Je nach Projekteinstellungen zusätzliche Rollen zuweisen
Je nach Konfiguration Ihres Projekts müssen Sie möglicherweise Folgendes hinzufügen: zusätzliche Rollen. Beispiele für die Zuweisung dieser Rollen zu den entsprechenden Voraussetzungen finden Sie weiter unten auf dieser Seite.
- Rolle „Netzwerknutzer“ (
roles/compute.networkUser
) gewähren für Dataproc Metastore-Dienst-Agent und der [Google APIs-Dienst-Agent] für das Dienstprojekt. - Weisen Sie dem Datastream-Dienst-Agent im Hostprojekt die Rolle „Netzwerkadministrator“ (
roles/compute.networkAdmin
) zu.
Wenn sich Ihre Cloud SQL-Instanz in einem anderen Projekt als das Dataproc Metastore-Dienstprojekt befindet:
- Weisen Sie dem Dataproc Metastore-Dienst-Agent im Cloud SQL-Instanzprojekt die Rolle
roles/cloudsql.client
und die Rolleroles/cloudsql.instanceUser
zu.
Wenn sich der Cloud Storage-Bucket für die Pipeline zum Erfassen von Änderungsdaten in einem anderen Projekt als Ihrem Dataproc Metastore-Dienstprojekt befindet:
- Achten Sie darauf, dass Ihr Datastream-Dienst-Agent die erforderlichen Berechtigungen zum Schreiben in den Bucket hat. In der Regel sind dies
roles/storage.objectViewer
, Die Rollenroles/storage.objectCreator
undroles/storage.legacyBucketReader
.
Voraussetzungen für die verwaltete Migration
Dataproc Metastore verwendet Proxys und eine Pipeline zur Erfassung von Datenänderungen, um die Datenübertragung zu erleichtern. Es ist wichtig, dass Sie diese Funktionsweise verstehen, bevor Sie mit der Übertragung beginnen.
Wichtige Begriffe
- Dienstprojekt: Ein Dienstprojekt ist das Google Cloud-Projekt, in dem Sie den Dataproc Metastore-Dienst erstellt.
- Hostprojekt: Ein Hostprojekt ist das Google Cloud-Projekt, das Ihre freigegebenen VPC-Netzwerke enthält. Ein oder mehrere Dienstprojekte können mit Ihrem Hostprojekt verknüpft werden, um diese freigegebenen Netzwerke zu verwenden. Weitere Informationen finden Sie unter Freigegebene VPC.
- Aktivieren Sie die Datastream API in Ihrem Dienstprojekt.
Dataproc Metastore die Rolle
roles/metastore.migrationAdmin
zuweisen Dienst-Agent in Ihrem Dienstprojekt.gcloud projects add-iam-policy-binding SERVICE_PROJECT --role "roles/metastore.migrationAdmin" --member "serviceAccount:service-SERVICE_PROJECT@gcp-sa-metastore.iam.gserviceaccount.com"
Fügen Sie die folgenden Firewallregeln hinzu.
Zum Herstellen einer Verbindung zwischen Dataproc Metastore und Ihrem privaten IP-Instanz von Cloud SQL.
Eine Firewallregel, um Traffic von der Systemdiagnoseprüfung zum Netzwerk-Load Balancer des SOCKS5-Proxys zuzulassen. Beispiel:
gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK--allow=tcp:1080 --source-ranges=35.191.0.0/16,130.211.0.0/22
An Port
1080
wird der SOCKS5-Proxyserver ausgeführt.Eine Firewallregel, die Traffic vom Load-Balancer zum SOCKS5 zulässt Proxy-MIG. Beispiel:
gcloud compute firewall-rules create
RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK--action=ALLOW --rules=all --source-ranges=PROXY_SUBNET_RANGE Eine Firewallregel, die Traffic vom Private Service Connect-Dienstanhang zum Load-Balancer zulässt. Beispiel:
gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK --allow=tcp:1080 --source-ranges=NAT_SUBNET_RANGE
Eine Firewallregel, die es Datastream ermöglicht, den CIDR-IP-Bereich
/29
für die Erstellung einer privaten IP-Verbindung zu verwenden. Beispiel:gcloud compute firewall-rules create RULE_NAME --direction=INGRESS --priority=1000 --network=CLOUD_SQL_NETWORK --action=ALLOW --rules=all --source-ranges=CIDR_RANGE
Optional: Rollen zur freigegebenen VPC hinzufügen
Führen Sie diese Schritte aus, wenn Sie eine freigegebene VPC verwenden.
Weitere Informationen zu einer freigegebenen VPC finden Sie unter Administratoren von Dienstprojekten.
Dataproc Metastore die Rolle
roles/compute.networkUser
zuweisen Dienst-Agent und Google API-Dienst-Agent im Hostprojekt.gcloud projects add-iam-policy-binding HOST_PROJECT --role "roles/compute.networkUser" --member "serviceAccount:service-SERVICE_ACCOUNT@gcp-sa-metastore.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding HOST_PROJECT --role "roles/compute.networkUser" --member "serviceAccount:SERVICE_PROJECT@cloudservices.gserviceaccount.com"
Weisen Sie dem Datastream-Dienst-Agent im Hostprojekt die Rolle
roles/compute.networkAdmin
zu.gcloud projects add-iam-policy-binding HOST_PROJECT --role "roles/compute.networkAdmin" --member "serviceAccount:service-SERVICE_PROJECT@gcp-sa-datastream.iam.gserviceaccount.com"
Wenn Sie die Rolle roles/compute.networkAdmin
nicht gewähren können, erstellen Sie eine benutzerdefinierte Rolle mit den Berechtigungen, die unter Voraussetzungen für freigegebene VPCs aufgeführt sind.
Diese Berechtigungen sind zu Beginn der Migration erforderlich, um ein Peering zwischen dem VPC-Netzwerk im Hostprojekt und Datastream herzustellen.
Diese Rolle kann entfernt werden, sobald die Migration gestartet wurde. Wenn Sie die Rolle entfernen, bevor die Migration abgeschlossen ist, kann der Dataproc Metastore-Dienst den Peering-Job nicht bereinigen. In diesem Fall müssen Sie den Job selbst bereinigen.