Dienste erstellen

Geben Sie zum Erstellen eines Dataproc Metastore-Dienstes Dienstparameter auf der Seite „Dienst erstellen“ ein, die in einem lokalen Browser geöffnet wurde. Verwenden Sie dazu das gcloud-Tool oder die Dataproc Metastore API-Methode service.create.

Beim Erstellen eines Dienstes müssen Sie die Region für den Dienst angeben. Informationen dazu, welche Standorte Dataproc Metastore unterstützen, finden Sie unter Cloud-Standorte.

Zusätzliche Felder sind beispielsweise die Metastore-Version, das Netzwerk, der Port und die Dienststufe. Wenn Sie kein Netzwerk angeben, verwendet Dataproc Metastore das Netzwerk default im Dienstprojekt. Dataproc Metastore verwendet eine private IP-Adresse, sodass nur VMs im selben Netzwerk auf den Dataproc Metastore-Dienst zugreifen können.

Hinweis

  • Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  • Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  • Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  • Aktivieren Sie die Dataproc Metastore API.

    Aktivieren Sie die API

  • Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  • Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  • Aktivieren Sie die Dataproc Metastore API.

    Aktivieren Sie die API

  • Für die meisten gcloud metastore-Befehle ist ein Speicherort erforderlich. Sie können den Speicherort mit dem Flag --location oder durch Festlegen des Standardspeicherorts angeben.

  • Legen Sie nicht fest, dass VPC-Peering durch die Einschränkung der Organisationsrichtlinie eingeschränkt wird. Wenn Sie constraints/compute.restrictVpcPeering angeben, schlägt die Erstellungsanfrage mit dem Fehler INVALID_ARGUMENT fehl. Wenn Sie die Einschränkung festlegen müssen, verwenden Sie den folgenden Befehl, um under:folders/270204312590 zuzulassen:

    gcloud resource-manager org-policies allow compute.restrictVpcPeering under:folders/270204312590 --organization ORGANIZATION_ID
    

    Weitere Informationen finden Sie unter Einschränkungen für Organisationsrichtlinien.

  • Wenn Sie Kerberos für Ihre Hive-Metastore-Instanz aktivieren möchten, müssen Sie folgende Schritte ausführen:

    • Hosten Sie Ihr eigenes Kerberos Key Distribution Center (KDC).
    • Richten Sie die IP-Verbindung zwischen dem VPC-Netzwerk und Ihrem KDC ein.
    • Richten Sie ein Secret Manager-Secret ein, das den Inhalt eines Hive-Keytabs enthält.
    • Geben Sie ein Hauptkonto an, das sich sowohl im KDC als auch im Hive-Keytab befindet.
    • Geben Sie eine krb5.conf-Datei in einem Google Cloud Storage-Bucket an.

    Weitere Informationen finden Sie unter Kerberos konfigurieren.

Freigegebene VPC einrichten

  • Um einen Dataproc Metastore-Dienst zu erstellen, auf den in einem Netzwerk zugegriffen werden kann, das zu einem anderen Projekt gehört als dem, zu dem der Dienst gehört, müssen Sie dem Dataproc Metastore-Dienst-Agent (service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com) des Dienstprojekts roles/metastore.serviceAgent in der IAM-Richtlinie des Netzwerkprojekts zuweisen.

    gcloud projects add-iam-policy-binding NETWORK_PROJECT_ID \
        --role "roles/metastore.serviceAgent" \
        --member "serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com"
    

Zugriffssteuerung

  • Zum Erstellen eines Dienstes müssen Sie eine IAM-Rolle mit der IAM-Berechtigung metastore.services.create anfordern. Die Dataproc Metastore-spezifischen Rollen roles/metastore.admin und roles/metastore.editor enthalten die Berechtigung zum Erstellen.

  • Sie können Nutzern oder Gruppen mithilfe der Legacy-Rollen roles/owner und roles/editor Erstellungsberechtigungen erteilen.

Weitere Informationen finden Sie unter Dataproc Metastore-IAM und -Zugriffssteuerung.

Dataproc Metastore-Dienst erstellen

In der folgenden Anleitung wird gezeigt, wie Sie einen Dataproc Metastore-Dienst erstellen.

Console

  1. Öffnen Sie in der Cloud Console die Dataproc Metastore-Seite:

    Dataproc Metastore in der Cloud Console öffnen

  2. Klicken Sie oben auf der Seite Dataproc Metastore auf Create. Die Seite Dienst erstellen wird geöffnet.

    Seite „Dienst erstellen“
  3. Geben Sie im Feld Dienstname einen eindeutigen Namen für den Dienst ein. Informationen zur Namenskonvention finden Sie unter Konvention für Ressourcennamen.

  4. Wählen Sie den Speicherort der Daten aus.

  5. Wählen Sie die Hive-Metastore-Version aus. Wenn nicht angegeben, wird die Hive-Version 3.1.2 verwendet. Weitere Informationen finden Sie unter Versionsrichtlinie.

  6. Wählen Sie die Release-Version aus. Wenn nicht angegeben, wird Stable verwendet. Weitere Informationen finden Sie unter Release-Version.

  7. Geben Sie den Port ein. Dies ist der TCP-Port, über den die Dataproc Metastore Thhrift-Schnittstelle verfügbar ist. Wenn nicht angegeben, wird die Portnummer 9083 verwendet.

  8. Wählen Sie die Dienststufe aus. Dies wirkt sich auf die Kapazität des Dienstes aus. Developer ist die Standardstufe. Es eignet sich für kostengünstige Proof-of-Concept, da es eine eingeschränkte Skalierbarkeit bietet und keine Fehlertoleranz bietet. Enterprise bietet eine flexible Skalierbarkeit, Fehlertoleranz und Hochverfügbarkeit in mehreren Zonen. Mit ihr können komplexe Dataproc-Metaspeicher-Arbeitslasten verarbeitet werden.

  9. Wählen Sie das Netzwerk aus. Der Dienst muss mit demselben Netzwerk verbunden sein, mit dem andere Metastore-Clients, z. B. der Dataproc-Cluster, verknüpft sind, um auf sie zugreifen zu können. Wenn nicht angegeben, wird das Netzwerk default verwendet.

    Optional: Klicken Sie auf Freigegebenes VPC-Netzwerk verwenden und geben Sie die Projekt-ID und den VPC-Netzwerknamen des freigegebenen VPC-Netzwerks ein. Weitere Informationen finden Sie unter VPC Service Controls mit Dataproc Metastore.

  10. Optional: Aktivieren Sie Data Catalog Sync. Weitere Informationen finden Sie unter Synchronisierung von Dataproc Metastore zu Data Catalog.

  11. Optional: Wählen Sie für das Wartungsfenster des Dienstes Wochentag und Tageszeit aus. Weitere Informationen finden Sie unter Wartungsfenster.

  12. Optional: Aktivieren Sie eine Kerberos-Keytab-Datei:

    1. Klicken Sie auf die Ein-/Aus-Schaltfläche, um Kerberos zu aktivieren.

    2. Wählen Sie Ihre Secret-Ressourcen-ID aus oder geben Sie sie ein.

    3. Wählen Sie entweder die neueste Secret-Version oder eine ältere Version aus.

    4. Geben Sie das Kerberos-Hauptkonto ein. Dies ist das Hauptkonto, das diesem Dataproc Metastore-Dienst zugewiesen ist.

    5. Wechseln Sie zur Datei krb5 config.

  13. Optional: Klicken Sie auf Vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verwenden und wählen Sie einen vom Kunden verwalteten Schlüssel aus. Weitere Informationen finden Sie unter vom Kunden verwaltete Verschlüsselungsschlüssel verwenden.

  14. Optional: Klicken Sie auf + Überschreibungen hinzufügen, um eine Zuordnung auf den Hive-Metaspeicher anzuwenden.

  15. Optional: Klicken Sie auf + Labels hinzufügen, um der Metastore-Dienstressource weitere Metadaten hinzuzufügen.

  16. Klicken Sie auf die Schaltfläche Senden, um den Dienst zu erstellen und zu starten.

  17. Vergewissern Sie sich, dass Sie auf die Seite Dataproc Metastore zurückgekehrt sind und der neue Dienst in der Liste angezeigt wird.

gcloud

  1. Führen Sie den folgenden gcloud metastore services create-Befehl aus, um einen Dienst zu erstellen:

    gcloud metastore services create SERVICE \
        --location=LOCATION \
        --labels=k1=v1,k2=v2,k3=v3 \
        --network=NETWORK \
        --port=PORT \
        --tier=TIER \
        --hive-metastore-version=HIVE_METASTORE_VERSION \
        --release-channel=RELEASE_CHANNEL \
        --hive-metastore-configs=K1=V1,K2=V2 \
        --kerberos-principal=KERBEROS_PRINCIPAL \
        --krb5-config=KRB5_CONFIG \
        --keytab=CLOUD_SECRET
        --encryption-kms-key=KMS_KEY
    

    Dabei gilt:

    • SERVICE: Der Name des neuen Dienstes.
    • LOCATION: Bezieht sich auf eine Google Cloud-Region.
    • k1=v1,k2=v2,k3=v3: Die verwendeten Labels.
    • NETWORK: Der Name des VPC-Netzwerks, auf das auf den Dienst zugegriffen werden kann. Wenn Sie ein VPC-Netzwerk verwenden, das zu einem anderen Projekt als dem Dienst gehört, muss der vollständige relative Ressourcenname angegeben werden, z. B. projects/HOST_PROJECT/global/networks/NETWORK_ID.
    • PORT: Der TCP-Port, an dem die Metastore-Thrift-Schnittstelle verfügbar ist. Standard: 9083.
    • TIER: Die Stufenkapazität des neuen Dienstes.
    • HIVE_METASTORE_VERSION: Die Versionen des Hive-Metastores, die beim Erstellen eines neuen Metastore-Dienstes an diesem Speicherort verwendet werden können. Der Server garantiert, dass genau ein HiveMetastoreVersion in der Liste auf is_default gesetzt ist.
    • RELEASE_CHANNEL: Die Release-Version des Dienstes.
    • K1=V1,K2=V2: Optional: Die verwendeten Hive-Metastore-Konfigurationen.
    • KERBEROS_PRINCIPAL: Optional: Ein Kerberos-Hauptkonto, das sowohl auf dem Keytab als auch im KDC vorhanden ist. Ein typisches Hauptkonto hat das Format „primary/instance@REALM“, aber es gibt kein genaues Format.
    • KRB5_CONFIG: Optional: Die Datei krb5.config gibt die KDC- und Kerberos-Echtzeitinformationen an, die Standorte von KDCs und Standardeinstellungen für den Bereich und die Kerberos-Anwendungen umfassen.
    • CLOUD_SECRET: Optional: Der relative Ressourcenname einer Secret-Version von Secret Manager.
    • KMS_KEY: verweist auf die Schlüsselressourcen-ID.
  2. Prüfen Sie, ob die Erstellung erfolgreich war.

REST

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

Private IP-Adressbereiche außerhalb von RFC 1918 verwenden

Im bereitgestellten VPC-Netzwerk sind möglicherweise keine der für Dataproc Metastore-Dienste erforderlichen RFC 1918-Adressen mehr verfügbar. In diesem Fall versucht Dataproc Metastore, private IP-Adressbereiche außerhalb der RFC 1918-Bereiche für die Diensterstellung zu reservieren. Eine Liste der unterstützten privaten Bereiche außerhalb von RFC 1918 finden Sie in der VPC-Netzwerkdokumentation unter Gültige Bereiche.

Private IP-Adressen außerhalb von RFC 1918, die in Dataproc Metastore verwendet werden, können mit einem Bereich in einem lokalen Netzwerk in Konflikt stehen, das mit dem bereitgestellten VPC-Netzwerk verbunden ist. So prüfen Sie die Liste der von Dataproc Metastore reservierten privaten IP-Adressen (RFC 1918 und RFC 1918):

gcloud compute addresses list \
    --project NETWORK_PROJECT_ID \
    --filter="purpose:VPC_PEERING AND name ~ cluster|resourcegroup"

Wenn ein Konflikt ermittelt und nicht durch eine Neukonfiguration des lokalen Netzwerks behoben werden kann, löschen Sie den betreffenden Dataproc Metastore-Dienst und erstellen Sie ihn nach zwei Stunden neu.

Nachdem Sie einen Dataproc Metastore-Dienst erstellt haben

Nachdem Sie einen Dienst erstellt haben, können SieDataproc-Cluster oder selbstverwaltete Apache Hive/Apache Spark/Presto-Cluster anhängen, die den Dienst als Hive-Metastore verwenden.

Nächste Schritte