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 einen dieser Dienste verbunden haben, verwendet er während der Abfrageausführung Ihren Dataproc Metastore-Dienst als Hive-Metastore.

Hinweise

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 eines Dataproc-Clusters benötigen:

  • Sie haben folgende Möglichkeiten, um die vollständige Kontrolle über Dataproc Metastore-Ressourcen zu gewähren:
  • So erstellen Sie einen Dataproc-Cluster: (roles/dataproc.worker) im Dataproc-VM-Dienstkonto
  • So gewähren Sie Lese- und Schreibberechtigungen für das Hive-Warehouse-Verzeichnis: (roles/storage.objectAdmin) für das Dataproc-VM-Dienstkonto

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff 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.* im Dataproc-VM-Dienstkonto

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 Zugriff mit IAM verwalten.

Dataproc-Cluster

Dataproc ist ein verwalteter Apache Spark- und Apache Hadoop-Dienst, mit dem Sie Open-Source-Datentools für Batchverarbeitungen, Abfragen, Streaming und maschinelles Lernen nutzen können.

Hinweise

Bevor Sie einen Dataproc-Cluster erstellen und anhängen, prüfen Sie, welches Endpunktprotokoll der Dataproc Metastore-Dienst verwendet. Dieses Protokoll definiert, wie Ihre Hive Metastore-Clients auf Metadaten zugreifen, die in Ihrem Dataproc Metastore gespeichert sind. Diese Auswahl kann sich auch auf die Features 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 der Dataproc-Cluster und der Dataproc Metastore-Dienst im selben Netzwerk erstellt werden. Ihr Dataproc-Cluster kann auch ein Subnetz des Netzwerks des Dataproc Metastore-Dienstes verwenden.

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

  • Wenn Ihr Dataproc-Cluster zu einem anderen Projekt gehört als der Dataproc Metastore-Dienst, müssen Sie vor dem Erstellen eines Dataproc-Clusters zusätzliche Berechtigungen einrichten.

gRPC

Beachten Sie bei Verwendung des gRPC-Endpunktprotokolls die folgenden Netzwerkanforderungen:

Cluster erstellen und Dataproc Metastore anhängen

In der folgenden Anleitung erfahren Sie, wie Sie einen Dataproc-Cluster erstellen und über einen Dataproc Metastore-Dienst eine Verbindung zu ihm herstellen. In dieser Anleitung wird davon ausgegangen, dass Sie bereits einen Dataproc Metastore-Dienst erstellt haben.

  • Prüfen Sie vor dem Erstellen des Dataproc-Clusters, ob das ausgewählte Dataproc-Image mit der Hive-Metastore-Version kompatibel ist, die Sie beim Erstellen des Dataproc Metastores ausgewählt haben. Weitere Informationen finden Sie in der Liste der Dataproc-Image-Versionen.
  • Erstellen Sie zum Optimieren der Netzwerkverbindung den Dataproc-Cluster in derselben Region wie den Dataproc Metastore-Dienst.

Console

  1. Rufen Sie in der Google Cloud Console die Dataproc-Seite Cluster erstellen auf:

    Öffnen Sie Cluster erstellen.

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

  3. Wählen Sie für die Menüs Region und Zone die Region aus, in der 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 Bereich Netzwerkkonfiguration das 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. Wenn Sie noch keinen Dienst erstellt haben, können Sie Neuen Dienst erstellen auswählen.

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

    1. Klicken Sie auf den Tab Sicherheit verwalten.
    2. Wählen Sie im Bereich Projektzugriffe die Option Aktiviert den Bereich der Cloud Platform für diesen Cluster aus.
  8. Konfigurieren Sie die übrigen Dienstoptionen nach Bedarf.

  9. Klicken Sie auf Erstellen, um den Cluster zu erstellen.

    Der neue Cluster wird nun in der Liste „Cluster“ angezeigt. Der Clusterstatus lautet Wird bereitgestellt, bis der Cluster einsatzbereit ist. Wenn sie einsatzbereit ist, ändert sich der Status in Running (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 den Dataproc Metastore-Dienst erstellt haben.
  • LOCATION ist die Region, in der Sie den Dataproc Metastore-Dienst erstellt haben.
  • SERVICE: der Name des Dataproc Metastore-Dienstes, den Sie an den Cluster anhängen.
  • SCOPES: (Optional) Wenn der Dataproc Metastore-Dienst das gRPC-Endpunktprotokoll verwendet, 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-Attributen an einen Dataproc Metastore anhängen. Zu diesen Attributen gehören die Dataproc Metastore-ENDPOINT_URI und WAREHOUSE_DIR.

Folgen Sie dieser Anleitung, wenn Ihr Dataproc Metastore-Dienst Private Service Connect verwendet oder Sie einen Dataproc-Cluster an die Hilfsversion des Dataproc Metastore-Dienstes anhängen möchten.

Es gibt zwei Möglichkeiten, einen Dataproc-Cluster mithilfe der Attribute 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:

Option 2: Datei hive-site.xml aktualisieren

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

  1. Stellen Sie über SSH eine Verbindung zum Cluster .*-m 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, eine Apache Spark-Instanz oder ein Presto-Cluster sein.

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