Dataproc- oder selbstverwalteten Cluster anhängen

Nachdem Sie einen Dataproc Metastore-Dienst erstellt haben, können Sie eine der folgenden Methoden anhängen, um den Dienst als Hive-Metastore zu verwenden:

Hinweis

  • Erstellen Sie für eine optimale Netzwerkverbindung den Dataproc-Cluster in derselben Region wie den Dataproc-Metastore-Dienst.

  • Das Dataproc-Image und die Dataproc Metastore Hive-Version müssen kompatibel sein. Prüfen Sie auf den folgenden Seiten zur Image-Versionierung, ob die Hive-Version kompatibel ist:

    Weitere Informationen finden Sie in der Liste der Dataproc-Image-Versionen.

  • Damit Sie einen Dataproc Metastore-Dienst verwenden können, einschließlich eines Projekts im Dataproc-Cluster, müssen sich der Cluster und der Metastore im selben Netzwerk befinden.

    • Sie können einen Dataproc Metastore-Dienst an einen beliebigen Dataproc-Cluster im gesamten Peering-Netzwerk anhängen, indem Sie bei Verwendung von gcloud dataproc clusters create CLUSTER_NAME die folgende Konfiguration des Hive-Attributs bereitstellen.

      gcloud dataproc clusters create CLUSTER_NAME \
          --properties="hive:hive.metastore.uris=$ENDPOINT_URI,hive:hive.metastore.warehouse.dir=$WAREHOUSE_DIR/hive-warehouse"
      

      Weitere Informationen finden Sie unter Selbstverwaltete Cluster anhängen.

    • Ein Cluster kann auch ein Subnetz des Metaspeicher-Netzwerks verwenden. Wenn Sie einen Cluster mit einem Subnetzwerk aus dem Netzwerkprojekt erstellen möchten, müssen Sie gemeinsame Netzwerkberechtigungen konfigurieren.

Zugriffssteuerung

  • Ihr Dataproc-VM-Dienstkonto muss Lese-/Schreibberechtigungen für das Objekt enthalten, um auf das Dataproc Metastore-Warehouse-Verzeichnis zugreifen zu können. Weitere Informationen finden Sie im Hive-Warehouse-Verzeichnis.

  • Wenn Sie mit einer projektübergreifenden Bereitstellung arbeiten, müssen Sie zusätzliche Berechtigungen einrichten, bevor Sie einen Dataproc Metastore-Cluster erstellen. Eine projektübergreifende Bereitstellung kann aus zwei bis drei Projekten bestehen, wobei der Dataproc-Cluster in einem Clusterprojekt, der Dataproc Metastore-Dienst in einem Metaspeicherprojekt und das Netzwerk in einem der beiden vorherigen Projekte enthalten ist oder in einem eigenen Netzwerkprojekt. Es ist auch möglich, dass der Dataproc-Cluster und der Dataproc Metastore-Dienst ein Projekt freigeben, während sich das Netzwerk in seinem eigenen Netzwerkprojekt befindet.

    Das folgende Diagramm bietet einen Überblick über die möglichen Projektkonfigurationen beim Bereitstellen eines Dataproc Metastore-Clusters:

    Übersicht über die möglichen Projektkonfigurationen bei der Bereitstellung eines Dataproc Metastore- und eines Dataproc-Clusters

    • Wenn Sie ein VPC-Netzwerk verwenden, das zu einem anderen Projekt als der Dienst gehört, müssen Sie den vollständigen relativen Ressourcennamen in gcloud metastore services create SERVICE angeben.

      gcloud metastore services create SERVICE \
          --network=projects/HOST_PROJECT/global/networks/NETWORK_ID
      

Dataproc-Cluster anhängen

Sie können einen Dataproc-Cluster erstellen und anhängen, der den Dataproc Metastore-Dienst als Hive-Metastore verwendet.

Projektübergreifende Bereitstellung einrichten

Für projektübergreifende Bereitstellungen, in denen sich der Dataproc-Cluster und der Dataproc Metastore-Dienst in separaten Projekten befinden, müssen Berechtigungen eingerichtet werden. Sie müssen diese Einrichtung nicht ausführen, wenn der Dataproc-Cluster und der Dataproc Metastore-Dienst ein Projekt gemeinsam nutzen, während sich das Netzwerk in seinem eigenen Netzwerkprojekt befindet.

Nachdem Sie die Netzwerkberechtigungen konfiguriert haben, müssen Sie dem Dataproc-Dienst-Agent des Clusterprojekts die Rolle "Dataproc Metastore-Betrachter" im Metaspeicherprojekt zuweisen. Das Dataproc-Dienst-Agent-Konto hat das Format service-<cluster-project-number>@dataproc-accounts.iam.gserviceaccount.com. Sie müssen auf die Projektnummer des Clusterprojekts verweisen.

Console

So finden Sie die Projektnummer:

  1. Öffnen Sie in IAM & Verwaltung den Tab Einstellungen.

  2. Wählen Sie in der Projektliste oben auf der Seite das Projekt aus, mit dem Sie den Dataproc-Cluster erstellen möchten.

  3. Notieren Sie die Projektnummer.

Konfigurieren Sie die Berechtigungen:

  1. Rufen Sie den Tab IAM auf.

  2. Wählen Sie in der Projektliste oben auf der Seite das Metastore-Projekt aus.

  3. Klicken Sie auf Add.

    1. Geben Sie das Dienstkonto in das Feld Neue Hauptkonten ein.

    2. Wählen Sie im Menü „Rollen“ die Option Dataproc Metastore > Dataproc Metastore-Betrachter aus.

    3. Klicken Sie auf Add.

Sie können jetzt einen Dataproc-Cluster mit dem Dataproc Metastore-Dienst des Metaspeicherprojekts und dem Netzwerk oder Subnetzwerk erstellen, in dem sich der Dienst befindet.

Dataproc-Cluster erstellen

In der folgenden Anleitung wird gezeigt, wie Sie einen Dataproc-Cluster erstellen und anhängen.

Console

  1. Öffnen Sie in der Cloud Console die Dataproc-Seite Cluster erstellen.

    Öffnen Sie in der Cloud Console die Seite „Cluster erstellen“.

  2. Geben Sie das Feld Clustername ein.

  3. Wählen Sie im Menü Region und Zone die Region und die Zone für den Cluster aus. Sie können eine bestimmte Region auswählen, um Ressourcen und Metadatenspeicherorte innerhalb der angegebenen Region zu isolieren. Wenn Sie eine bestimmte Region auswählen, können Sie für die Zone "Keine Einstellung" auswählen, damit Dataproc eine Zone innerhalb der Region für Ihren Cluster auswählen kann (sieheAutomatische Zonenplatzierung von Dataproc ).

  4. Klicken Sie auf den Tab Cluster anpassen.

  5. Wählen Sie im Abschnitt Netzwerkkonfiguration dasselbe Netzwerk aus, das bei der Erstellung des Metastore-Dienstes angegeben wurde.

  6. Wählen Sie im Abschnitt Dataproc Metastore den Metastore-Dienst aus. Wenn Sie noch keinen erstellt haben, können Sie Neuen Dienst erstellen auswählen.

  7. 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. Der zugehörige Status wird dann in „Wird ausgeführt“ geändert.

gcloud

Erstellen Sie mit dem folgenden Befehl gcloud dataproc clusters create einen Cluster:

 gcloud dataproc clusters create CLUSTER_NAME \
    --dataproc-metastore=projects/PROJECT_ID/locations/LOCATION/services/SERVICE \
    --region=LOCATION
 

Ersetzen Sie CLUSTER_NAME durch den Namen des neuen Clusters.

Ersetzen Sie PROJECT_ID durch die Projekt-ID des Projekts, in dem Sie den Dataproc Metastore-Dienst erstellt haben.

Ersetzen Sie LOCATION durch dieselbe Region, die Sie für den Dataproc Metastore-Dienst angegeben haben.

Ersetzen Sie SERVICE durch den Dataproc Metastore-Dienstnamen.

REST

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

Selbstverwalteten Cluster anhängen

Nachdem Sie einen Dienst erstellt haben, können Sie einen selbstverwalteten Apache Hive-, Apache Spark- oder Presto-Cluster anhängen, der den Dienst als Hive-Metaspeicher verwendet. Legen Sie dazu in der Clientkonfiguration Folgendes fest:

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

Dabei gilt:

  • ENDPOINT_URI: Der Hive-Metastore-Endpunkt-URI für den Zugriff auf den Metastore-Dienst.

    Klicken Sie auf der Seite Dataproc Metastore auf den Dienstnamen Ihres Dienstes, um den zu verwendenden Wert für den Endpunkt-URI zu suchen. Dadurch gelangen Sie zur Seite Dienstdetails für diesen Dienst, auf der Sie die mit thrift:// beginnende URL verwenden können.

  • WAREHOUSE_DIR: Bezieht sich auf das Verzeichnis der Überschreibungen für die Hive-Metastore-Konfiguration. Es kann das Format gs://.*hive-warehouse haben.

    Klicken Sie auf der Seite Dataproc Metastore auf den Dienstnamen Ihres Dienstes, um das zu verwendende Warehouse-Verzeichnis zu suchen. Dadurch gelangen Sie zur Seite Dienstdetails für diesen Dienst. Hier können Sie den Wert hive.metastore.warehouse.dir unter Metastore-Konfigurationsüberschreibungen verwenden.

Dienstdetails-URL und hive.metastore.warehouse.dir-Werte

Nächste Schritte