Dataproc-Cluster oder selbstverwalteten Cluster anhängen

Nachdem Sie einen Dataproc Metastore-Dienst erstellt haben, können Sie einen der folgenden Dienste anhängen:

Nachdem Sie eine Verbindung zu einem dieser Dienste hergestellt haben, wird bei der Abfrageausführung Ihr Dataproc Metastore-Dienst als Hive-Metastore verwendet.

Hinweise

Erforderliche Rollen

Um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Dataproc Metastore und eines Dataproc-Clusters benötigen, bitten Sie Ihren Administrator, Ihnen folgenden IAM-Rollen:

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-Metastores und eines Dataproc-Clusters erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um einen Dataproc Metastore und einen Dataproc-Cluster zu erstellen:

  • So erstellen Sie einen Dataproc Metastore: metastore.services.create für das Nutzer- oder Dienstkonto
  • So erstellen Sie einen Dataproc-Cluster: dataproc.clusters.create für das Nutzer- oder Dienstkonto
  • So greifen Sie auf das Hive-Warehouse-Verzeichnis zu: orgpolicy.policy.get1,resourcemanager.projects.get,resourcemanager.projects.list,storage.objects.*,storage.multipartUploads.* für das Dataproc-VM-Dienstkonto

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, der können Sie Open-Source-Datentools für die Batchverarbeitung nutzen, Abfragen, Streaming und maschinelles Lernen.

Hinweise

Bevor Sie einen Dataproc-Cluster erstellen und anhängen, prüfen Sie, welches Endpunktprotokoll der Dataproc Metastore-Dienst verwendet. Mit diesem Protokoll wird definiert, Ihre Hive Metastore-Clients greifen auf Metadaten zu, die in Dataproc Metastore gespeichert sind. Diese Wahl kann sich auch auf die Funktionen auswirken, die Sie in Ihren Dienst einbinden und verwenden können.

Apache-Secondhand

Wenn Sie das Apache Thrift-Endpunktprotokoll verwenden, beachten Sie die folgenden Netzwerkanforderungen:

  • Standardmäßig sollten Sie Ihren Dataproc-Cluster und den Dataproc Metastore-Dienst im selben Netzwerk erstellen. Ihr Dataproc-Cluster kann auch ein Subnetz des Netzwerk des Dataproc Metastore-Dienstes.

  • Wenn Ihr Dataproc-Cluster zu einem anderen Projekt gehört als des Netzwerks müssen Sie freigegebene Netzwerkberechtigungen konfigurieren.

  • Wenn Ihr Dataproc-Cluster zu einem anderen Projekt als Ihrem 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:

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 dazu herstellen. Diese Es wird vorausgesetzt, dass Sie bereits einen Dataproc Metastore-Dienst erstellt haben.

  • Prüfen Sie vor dem Erstellen des Dataproc-Clusters, ob die Das ausgewählte Dataproc-Image ist mit der Hive-Metastore-Version kompatibel die Sie beim Erstellen des Dataproc Metastores ausgewählt haben. Weitere Informationen finden Sie in der Liste der Dataproc-Image-Versionen.
  • Dataproc-Cluster erstellen, um die Netzwerkverbindung zu optimieren sich in derselben Region wie Ihr Dataproc Metastore-Dienst befindet.

Console

  1. Öffnen Sie in der Google Cloud Console die Dataproc-Seite Create a cluster (Cluster erstellen):

    Öffnen Sie Cluster erstellen.

  2. Geben Sie im Feld Clustername einen Namen für den Cluster ein.

  3. Wählen Sie in den Menüs Region und Zone dieselbe Region aus. in dem Sie den Dataproc Metastore-Dienst erstellt haben. Sie können eine beliebige Zone auswählen.

  4. Klicken Sie auf den Tab Cluster anpassen.

  5. Wählen Sie im Abschnitt Netzwerkkonfiguration dasselbe Netzwerk aus, in dem Sie den Dataproc Metastore-Dienst erstellt haben.

  6. Wählen Sie im Abschnitt Dataproc Metastore den Dataproc Metastore-Dienst aus, den Sie anhängen möchten. Falls Sie noch keines erstellt haben, können Sie Erstellen Neuer Dienst.

  7. Optional: Wenn Ihr Dataproc Metastore-Dienst das gRPC-Endpunktprotokoll verwendet:

    1. Klicken Sie auf den Tab Sicherheit verwalten.
    2. 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.
  8. Konfigurieren Sie die verbleibenden Dienstoptionen nach Bedarf.

  9. Klicken Sie zum Erstellen des Clusters auf 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 die Workstation einsatzbereit 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 des neuen Dataproc-Clusters.
  • PROJECT_ID: die Projekt-ID des Projekt, in dem Sie den Dataproc Metastore-Dienst erstellt haben.
  • LOCATION: dieselbe Region, die Sie erstellt haben Dataproc Metastore-Dienst in.
  • SERVICE: Der Name des Dataproc Metastore-Dienstes, den Sie an den Cluster anhängen.
  • SCOPES: (optional) Wenn Ihr Dataproc Metastore Dienst verwendet das gRPC-Endpunktprotokoll, verwenden Sie cloud-platform.

REST

Folgen Sie der API-Anleitung zum Erstellen eines Clusters mit dem APIs Explorer.

Cluster mithilfe von Dataproc-Clusterattributen anhängen

Sie können einen Dataproc-Cluster auch mithilfe von Dataproc-Properties an einen Dataproc Metastore anhängen. Dazu gehören die Dataproc Metastore-Ressourcen ENDPOINT_URI und WAREHOUSE_DIR.

Folgen Sie dieser Anleitung, wenn für Ihren Dataproc Metastore-Dienst Private Service Connect verwendet wird oder Sie einen Dataproc-Cluster an die zusätzliche Version Ihres Dataproc Metastore-Dienstes anhängen möchten.

Es gibt zwei Möglichkeiten, einen Dataproc-Cluster mithilfe der ENDPOINT_URI- und WAREHOUSE_DIR-Properties:

Option 1: Beim Erstellen eines Dataproc-Clusters

Verwenden Sie beim Erstellen eines Dataproc-Clusters das Flag „properties“ 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:

Option 2: Datei hive-site.xml aktualisieren

Sie können auch einen Dataproc-Cluster anhängen, indem Sie die Datei hive-site.xml des Clusters direkt ändern.

  1. Stellen Sie über SSH eine Verbindung zum .*-m-Cluster her.
  2. Ö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:

  3. Starten Sie HiveServer2 neu:

    sudo systemctl restart hive-server2.service
    

Selbstverwaltete Cluster

Ein selbstverwalteter Cluster kann eine Apache Hive-Instanz sein, eine Apache Spark-Instanz, oder einen Presto-Cluster.

Selbstverwalteten Cluster anhängen

Legen Sie in der Clientkonfigurationsdatei die folgenden Werte fest:

hive.metastore.uris=ENDPOINT_URI
hive.metastore.warehouse.dir=WAREHOUSE_DIR

Ersetzen Sie Folgendes:

Nächste Schritte