Dataproc- oder selbstverwalteten Cluster anhängen

Nachdem Sie einen Dataproc Metastore-Dienst erstellt haben, können Sie einen der folgenden Anhänge 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-Version, ob die Hive-Version kompatibel ist:

    • Dataproc-Releaseversionen 2.0.x
    • Dataproc-Releaseversionen 1.5.x
    • Dataproc-Releaseversionen 1.4.x

    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. Ein Cluster kann auch ein Subnetz des Dataproc Metastore-Dienstes verwenden. Wenn der Dataproc-Cluster zu einem anderen Projekt als das Netzwerk gehört, müssen Sie gemeinsame Netzwerkberechtigungen konfigurieren.

  • Wenn Sie persönliche Authentifizierungscluster verwenden, müssen Sie einen gRPC-fähigen Metastore verwenden. Weitere Informationen zum Konvertieren eines Metastores in gRPC oder zum Erstellen eines neuen gRPC-basierten Metastores findest du unter Endpunktprotokoll auswählen.

Zugriffssteuerung

  • Achten Sie darauf, dass Ihr Dataproc-VM-Dienstkonto Lese-/Schreibberechtigungen für das Objekt „Dataproc Metastore“ hat. 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 sich der Dataproc-Cluster in einem Clusterprojekt, der Dataproc Metastore-Dienst in einem Metastore-Projekt und das Netzwerk entweder in den vorherigen beiden Projekten oder in seinem eigenen Netzwerkprojekt befindet. Außerdem können für den Dataproc-Cluster und den Dataproc Metastore-Dienst ein Projekt freigegeben werden, während sich das Netzwerk in einem eigenen Netzwerkprojekt befindet.

    Folgendes Diagramm bietet einen Überblick über die möglichen Projektkonfigurationen bei der Bereitstellung 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 gehört als der Dienst, müssen Sie den gesamten 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

Projektübergreifende Bereitstellungen, bei denen sich Dataproc-Cluster und Dataproc Metastore-Dienst in separaten Projekten befinden, erfordern die Einrichtung von Berechtigungen. 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 einem eigenen Netzwerkprojekt befindet.

Nach dem Konfigurieren der Netzwerkberechtigungen müssen Sie dem Dataproc-Dienst-Agent des Clusterprojekts die Rolle „Dataproc Metastore-Betrachter“ im Metastore-Projekt zuweisen. Das Dataproc-Dienst-Agent-Konto hat das Format service-<cluster-project-number>@dataproc-accounts.iam.gserviceaccount.com. Sie müssen die Projektnummer des Clusterprojekts angeben.

Console

So finden Sie die Projektnummer:

  1. Rufen Sie den IAM-Tab „Einstellungen“ &Verwaltung auf.

  2. Wählen Sie in der Projektliste oben auf der Seite das Projekt aus, das Sie zum Erstellen des Dataproc-Clusters verwenden wollen.

  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 (Hinzufügen).

    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 (Hinzufügen).

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

Dataproc-Cluster erstellen

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

Console

  1. Öffnen Sie in der Konsole die Dataproc-Seite Cluster erstellen:

    Öffne die Seite „Cluster erstellen“ in der Console.

  2. Füllen Sie das Feld Clustername aus.

  3. Wählen Sie im Menü Region und Zone eine Region und eine Zone für den Cluster aus. Sie können eine bestimmte Region auswählen, um Ressourcen und Metadaten-Speicherorte innerhalb der angegebenen Region zu isolieren. Wenn Sie eine bestimmte Region auswählen, können Sie für die Zone die Option „Keine Einstellung“ auswählen und so festlegen, dass Dataproc eine Zone innerhalb der ausgewählten Region für Ihren Cluster auswählt (siehe Dataproc automatische Zonenplatzierung).

  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 Folgendes:

  • CLUSTER_NAME ist der Name des neuen Clusters.
  • PROJECT_ID: die Projekt-ID des Projekts, in dem Sie Ihren Dataproc Metastore-Dienst erstellt haben.
  • LOCATION: ist die Region, die Sie für den Dataproc Metastore-Dienst angegeben haben.
  • SERVICE: Der Name des Dataproc Metastore-Dienstes.

REST

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

Hängen Sie einen Dataproc-Cluster mit ENDPOINT_URI und WAREHOUSE_DIR an

Sie können einen Dataproc-Cluster mit den Properties ENDPOINT_URI und WAREHOUSE_DIR anhängen. Dies ist nützlich, wenn Ihr Dataproc Metastore-Dienst Private Service Connect verwendet oder Sie die Zusatzversion Ihres Dataproc Metastore-Dienstes anhängen möchten.

Weitere Informationen zu diesen Attributen und ihrer Verfügbarkeit finden Sie unter Selbstverwalteten Cluster anhängen.

Es gibt zwei Möglichkeiten, einen Dataproc-Cluster mit den Properties ENDPOINT_URI und WAREHOUSE_DIR anzuhängen:

  • Option 1: Geben Sie beim Erstellen des Dataproc-Clusters die folgende Einrichtung der Hive-Attributkonfiguration an.

    1. Führen Sie folgenden Befehl gcloud dataproc clusters create aus:

         gcloud dataproc clusters create CLUSTER_NAME \
             --properties="hive:hive.metastore.uris=$ENDPOINT_URI,hive:hive.metastore.warehouse.dir=$WAREHOUSE_DIR/hive-warehouse"
      
  • Option 2: Aktualisieren Sie hive-site.xml im Dataproc-Cluster mit dem Endpunkt-URI, der in NetworkConfig aufgeführt ist.

    1. SSH-Verbindung zum Dataproc-Cluster herstellen und Folgendes ausführen:

      1. Ändern Sie die /etc/hive/conf/hive-site.xml im Dataproc-Cluster:

        <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>
        
      2. Starten Sie HiveServer2 neu:

        sudo systemctl restart hive-server2.service
        

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-Metastore verwendet. Dafür legen Sie in der Clientkonfiguration Folgendes fest:

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

Ersetzen Sie Folgendes:

  • 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

Weitere Informationen