Nachdem Sie einen Dataproc Metastore-Dienst erstellt haben, können Sie einen der folgenden Dienste anhängen:
- Einen Dataproc-Cluster.
- Eine selbstverwaltete Apache Hive-Instanz, eine Apache Spark-Instanz oder ein Presto-Cluster.
Nachdem Sie einen dieser Dienste verbunden haben, wird Ihr Dataproc Metastore-Dienst während der Ausführung von Abfragen als Hive-Metastore verwendet.
Hinweise
- Aktivieren Sie Dataproc Metastore in Ihrem Projekt.
- Dataproc Metastore-Dienst erstellen.
- Machen Sie sich mit den Netzwerkanforderungen vertraut, die für Ihr Projekt gelten.
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 eines Dataproc-Clusters benötigen:
-
Um die vollständige Kontrolle über Dataproc Metastore-Ressourcen zu gewähren, haben Sie folgende Möglichkeiten:
-
Dataproc Metastore Editor (
roles/metastore.editor
) für das Nutzerkonto oder Dienstkonto -
Dataproc Metastore-Administrator (
roles/metastore.admin
) für das Nutzerkonto oder Dienstkonto
-
Dataproc Metastore Editor (
-
So erstellen Sie einen Dataproc-Cluster:
(
roles/dataproc.worker
) für das Dataproc-VM-Dienstkonto -
So gewähren Sie dem Dataproc-VM-Dienstkonto Lese- und Schreibberechtigungen für das Hive-Warehouse-Verzeichnis (
roles/storage.objectAdmin
):
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 eines Dataproc-Clusters erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Erstellen eines Dataproc Metastore und eines Dataproc-Clusters erforderlich:
-
So erstellen Sie einen Dataproc Metastore:
metastore.services.create
für das Nutzerkonto oder Dienstkonto -
So erstellen Sie einen Dataproc-Cluster:
dataproc.clusters.create
für das Nutzerkonto oder Dienstkonto -
So greifen Sie auf das Hive-Warehouse-Verzeichnis zu:
orgpolicy.policy.get1
,resourcemanager.projects.get
,resourcemanager.projects.list
,storage.objects.*
,storage.multipartUploads.*
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 mit IAM verwalten.Dataproc-Cluster
Dataproc ist ein verwalteter Apache Spark- und Apache Hadoop-Dienst, mit dem Sie Open-Source-Datentools für Batchverarbeitung, Abfragen, Streaming und maschinelles Lernen nutzen können.
Hinweise
Bevor Sie einen Dataproc-Cluster erstellen und anhängen, prüfen Sie, welches Endpunktprotokoll Ihr Dataproc Metastore-Dienst verwendet. Dieses Protokoll definiert, wie Ihre Hive-Metastore-Clients auf Metadaten zugreifen, die in Ihrem Dataproc Metastore gespeichert sind. Diese Entscheidung kann sich auch auf die Funktionen auswirken, die Sie in Ihren Dienst einbinden und mit ihm verwenden können.
Apache Thrift
Wenn Sie das Apache Thrift-Endpunktprotokoll verwenden, beachten Sie die folgenden Netzwerkanforderungen:
Standardmäßig sollten Sie Ihren Dataproc-Cluster und Ihren Dataproc Metastore-Dienst im selben Netzwerk erstellen. Ihr Dataproc-Cluster kann auch ein Subnetz des Netzwerks des Dataproc Metastore-Dienstes verwenden.
Wenn Ihr Dataproc-Cluster zu einem anderen Projekt als dem Netzwerk gehört, müssen Sie Berechtigungen für freigegebene Netzwerke konfigurieren.
Wenn Ihr Dataproc-Cluster zu einem anderen Projekt als Ihr Dataproc Metastore-Dienst gehört, müssen Sie zusätzliche Berechtigungen einrichten, bevor Sie einen Dataproc-Cluster erstellen.
gRPC
Wenn Sie das gRPC-Endpunktprotokoll verwenden, beachten Sie die folgenden Netzwerkanforderungen:
Nachdem Sie einen Dataproc Metastore mit dem gRPC-Endpunktprotokoll erstellt haben, müssen Sie zusätzliche IAM-Rollen zuweisen.
Wenn Sie die persönliche Clusterauthentifizierung von Dataproc verwenden, muss Ihr Dataproc Metastore das gRPC-Endpunktprotokoll verwenden.
Wenn Ihr Dataproc-Cluster zu einem anderen Projekt als Ihr Dataproc Metastore-Dienst gehört, müssen Sie zusätzliche Berechtigungen einrichten, bevor Sie einen Dataproc-Cluster erstellen.
Cluster erstellen und Dataproc Metastore anhängen
In der folgenden Anleitung wird gezeigt, wie Sie einen Dataproc-Cluster erstellen und über einen Dataproc Metastore-Dienst eine Verbindung zu ihm herstellen. Bei dieser Anleitung wird davon ausgegangen, dass Sie bereits einen Dataproc Metastore-Dienst erstellt haben.
- Bevor Sie Ihren Dataproc-Cluster erstellen, müssen Sie darauf achten, dass das von Ihnen ausgewählte Dataproc-Image mit der Hive Metastore-Version kompatibel ist, die Sie beim Erstellen Ihres Dataproc Metastore ausgewählt haben. Weitere Informationen finden Sie in der Liste der Dataproc-Image-Versionen.
Erstellen Sie für eine optimale Netzwerkverbindung den Dataproc-Cluster in derselben Region wie den Dataproc Metastore-Dienst.
Console
Öffnen Sie in der Google Cloud Console die Dataproc-Seite Cluster erstellen:
Cluster erstellen öffnen
Geben Sie im Feld Clustername einen Namen für den Cluster ein.
Wählen Sie in den Menüs Region und Zone dieselbe Region aus, in der Sie den Dataproc Metastore-Dienst erstellt haben. Sie können eine beliebige Zone auswählen.
Klicken Sie auf den Tab Cluster anpassen.
Wählen Sie im Abschnitt Netzwerkkonfiguration dasselbe Netzwerk aus, in dem Sie den Dataproc Metastore-Dienst erstellt haben.
Wählen Sie im Abschnitt Dataproc Metastore den Dataproc Metastore-Dienst aus, den Sie anhängen möchten. Wenn Sie noch keinen erstellt haben, können Sie Neuen Dienst erstellen auswählen.
Optional: Wenn Ihr Dataproc Metastore-Dienst das gRPC-Endpunktprotokoll verwendet:
- Klicken Sie auf den Tab Sicherheit verwalten.
- Wählen Sie im Abschnitt Project Access (Projektzugriff) die Option Enables the cloud-platform scope for this cluster (Aktiviert den Bereich „cloud-platform“ für diesen Cluster) aus.
Konfigurieren Sie die verbleibenden Dienstoptionen nach Bedarf.
Klicken Sie auf Erstellen, um den Cluster zu erstellen.
Der neue Cluster wird nun in der Liste „Cluster“ angezeigt. Der Cluster verbleibt solange im Status Wird bereitgestellt, bis er zur Verwendung bereit ist. Wenn sie bereit ist, ändert sich der Status in Wird ausgeführt.
gcloud-CLI
Führen Sie den folgenden gcloud dataproc clusters create
-Befehl aus, um einen Cluster zu erstellen und einen Dataproc Metastore anzuhängen:
gcloud dataproc clusters create CLUSTER_NAME \ --dataproc-metastore=projects/PROJECT_ID/locations/LOCATION/services/SERVICE \ --region=LOCATION \ --scopes=SCOPES
Ersetzen Sie Folgendes:
CLUSTER_NAME
: Der Name Ihres neuen Dataproc-Clusters.PROJECT_ID
: Die Projekt-ID des Projekts, in dem Sie Ihren Dataproc Metastore-Dienst erstellt haben.LOCATION
: dieselbe Region, in der Sie Ihren Dataproc Metastore-Dienst erstellt haben.SERVICE
: Der Name des Dataproc Metastore-Dienstes, den Sie an den Cluster anhängen.SCOPES
: (Optional) Wenn Ihr Dataproc Metastore-Dienst das gRPC-Endpunktprotokoll verwendet, verwenden Siecloud-platform
.
REST
Folgen Sie der API-Anleitung zum Erstellen eines Clusters mit dem APIs Explorer.
Cluster mit Dataproc-Clusterattributen anhängen
Sie können einen Dataproc-Cluster auch mithilfe von Dataproc-Properties an einen Dataproc Metastore anhängen.
Zu diesen Eigenschaften gehören die Dataproc Metastore-Eigenschaften ENDPOINT_URI
und WAREHOUSE_DIR
.
Verwenden Sie diese Anleitung, wenn Ihr Dataproc Metastore-Dienst Private Service Connect verwendet oder wenn Sie einen Dataproc-Cluster an die Hilfsversion Ihres Dataproc Metastore-Dienstes anhängen möchten.
Es gibt zwei Möglichkeiten, einen Dataproc-Cluster mit den Attributen ENDPOINT_URI
und WAREHOUSE_DIR
anzuhängen:
Option 1: Beim Erstellen eines Dataproc-Clusters
Verwenden Sie beim Erstellen eines Dataproc-Clusters das Attribut-Flag mit der folgenden Hive-Konfiguration.
gcloud dataproc clusters create CLUSTER_NAME \ --properties="hive:hive.metastore.uris=ENDPOINT_URI,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR/hive-warehouse"
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name Ihres neuen Dataproc-Clusters.ENDPOINT_URI
: Der Endpunkt-URI Ihres Dataproc Metastore-Dienstes.WAREHOUSE_DIR
: Der Speicherort Ihres Hive-Warehouse-Verzeichnisses.
Option 2: Datei hive-site.xml
aktualisieren
Sie können einen Dataproc-Cluster auch anhängen, indem Sie die hive-site.xml
-Datei des Clusters direkt ändern.
- Stellen Sie über SSH eine Verbindung zum
.*-m
-Cluster her. Öffnen Sie die Datei
/etc/hive/conf/hive-site.xml
und ändern Sie die folgenden Zeilen:<property> <name>hive.metastore.uris</name> <!-- Update this value. --> <value>ENDPOINT_URI</value> </property> <!-- Add this property entry. --> <property> <name>hive.metastore.warehouse.dir</name> <value>WAREHOUSE_DIR</value> </property>
Ersetzen Sie Folgendes:
ENDPOINT_URI
: Der Endpunkt-URI Ihres Dataproc Metastore-Dienstes.WAREHOUSE_DIR
: Der Speicherort Ihres Hive-Warehouse-Verzeichnisses.
Starten Sie HiveServer2 neu:
sudo systemctl restart hive-server2.service
Selbstverwaltete Cluster
Ein selbstverwalteter Cluster kann eine Apache Hive-Instanz, eine Apache Spark-Instanz oder ein Presto-Cluster sein.
Selbstverwalteten Cluster anhängen
Legen Sie die folgenden Werte in Ihrer Clientkonfigurationsdatei fest:
hive.metastore.uris=ENDPOINT_URI
hive.metastore.warehouse.dir=WAREHOUSE_DIR
Ersetzen Sie Folgendes:
ENDPOINT_URI
: Der Endpunkt-URI Ihres Dataproc Metastore-Dienstes.WAREHOUSE_DIR
: Der Speicherort Ihres Hive-Warehouse-Verzeichnisses.
Nächste Schritte
- Kurzanleitung zur Bereitstellung von Dataproc Metastore
- Dataproc Metastore – Übersicht
- Übersicht zu Dataproc