Zusatzversionen

Auf dieser Seite wird erläutert, wie Sie die Funktion der Hilfsversionen mit Dataproc Metastore verwenden.

Mit zusätzlichen Versionen können Sie zwei verschiedene Versionen eines Hive-Metastores mit einem einzigen Dataproc Metastore-Dienst verbinden. Mit dieser Konfiguration können Sie mehrere Datenverarbeitungs-Engines unterstützen, die in verschiedenen Hive-Metastore-Versionen ausgeführt werden müssen.

Mithilfe von Hilfsversionen können Sie beispielsweise mehrere Dataproc-Cluster mit demselben Dataproc Metastore-Dienst verbinden. In dieser Konfiguration kann auf einem Cluster Dataproc Version 2.0 und auf dem anderen Dataproc Version 1.5 ausgeführt werden. Der Dataproc 2.0-Cluster kann eine Verbindung zu einem Endpunkt herstellen, der Hive Version 3.1.2 verfügbar macht, während der Dataproc 1.5-Cluster eine Verbindung zu einem Endpunkt herstellt, der Hive-Version 2.3.6 verfügbar macht.

Funktionsweise von Hilfsversionen

Wenn Sie Hilfsversionen aktivieren, stellt Dataproc Metastore für jede Hive-Metastore-Version einen separaten Endpunkt zur Verfügung. Beide Endpunkte nutzen jedoch weiterhin dieselbe Metadatendatenbank.

Mit dieser Funktion können Sie keine unterschiedlichen Metadatensätze mit einem einzigen Dataproc Metastore-Dienst verwenden. Stattdessen können Sie die Kompatibilität zwischen Ihren Diensten erweitern und verbessern.

Hinweise

Allgemein

  • Sie können für jeden Dataproc Metastore-Dienst nur eine Hilfsversion erstellen.

  • Die Hilfsversion muss so konfiguriert sein, dass eine niedrigere Hive-Metastore-Version als die Hauptversion verwendet wird.

  • Die Hilfsversion verwaltet eine separate Logdatei als die Primärversion. Zum Beheben von Hive-Metastore-Problemen können Sie Cloud Logging verwenden.

Funktionsunterstützung

  • Folgende Funktionen werden von der Zusatzversion nicht unterstützt:

  • Einige Hive-Methoden sind möglicherweise nicht zwischen der Hilfs- und der primären Version kompatibel. Diese Kompatibilität hängt davon ab, welche Hive-Versionen Sie für Ihre Primär- und Hilfsversionen verwenden und welche Methoden zwischen den Hive-Versionen kompatibel sind.

  • Nicht alle Funktionen einer primären Dataproc Metastore-Instanz werden von der Hilfsversion unterstützt. Beispielsweise wird das Einfügen von Datensätzen in eine Hive-Transaktionstabelle nicht mit einer Hive 2-Client-Schnittstelle mit einer Hilfsversion 2.3.6 unterstützt. Dieser Vorgang wird jedoch mit einer Hive 3-Client-Schnittstelle mit der Primärversion 3.1.2 unterstützt.

    Wenn ein Feature in einer niedrigeren Hive-Version in einer höheren Hive-Version verworfen wird, unterstützt die entsprechende niedrigere Hilfsversion das eingestellte Feature nicht. Hive 2 unterstützt beispielsweise Indexe, aber eine Hilfsversion mit Hive 2.3.6 unterstützt den Index nicht, wenn die Primärversion Hive 3.1.2 ausführt.

  • Das Erstellen von Transaktionstabellen mit der Hilfsversion oder das Einfügen von Daten in Transaktionstabellen in der Hilfsversion wird verhindert.

Gemeinsame Attribute zwischen Versionen

Wenn Sie eine Hilfsversion erstellen, werden einige Attribute der Hilfsversion und der Primärversion gemeinsam genutzt. Andere Properties werden nicht gemeinsam genutzt und sind für beide Versionen getrennt.

In der folgenden Tabelle sind diese Unterschiede aufgeführt.

Attribute Allgemein Trennen
Endpunkt
Hive-Konfigurationsüberschreibungen*
Kerberos-Konfiguration
Endpunktprotokoll (Thrift/gRPC)
Thrift-Port
Artefakt-Cloud Storage-Bucket
Stufe
Wartungsfenster
Release-Version
Verschlüsselungskonfiguration
Datenbanktyp
Ein-/Aus-Schaltfläche für die Data Catalog-Synchronisierung
Messwert „Anzahl der Anfragen“
Netzwerkkonfigurationen

* Die Hive-Konfigurationsüberschreibungen bleiben zwischen der Hilfs- und der Primärversion getrennt. Die Hilfsversion verweist jedoch auf eine zusammengeführte Liste der Überschreibungen (Primär- und Hilfsversion). In diesem Fall hat die Hilfskonfiguration Vorrang vor der primären Konfiguration.

Hinweise

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen nach dem Prinzip der geringsten Berechtigung die folgenden IAM-Rollen für Ihr Projekt zu gewähren, um die Berechtigung zu erhalten, die Sie zum Erstellen eines Dataproc Metastores benötigen, der Hilfsversionen verwendet:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Diese vordefinierte Rolle enthält die Berechtigung metastore.services.create, die zum Erstellen eines Dataproc Metastores erforderlich ist, der Hilfsversionen verwendet.

Möglicherweise können Sie diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Weitere Informationen zu bestimmten Dataproc Metastore-Rollen und -Berechtigungen finden Sie unter Dataproc-Zugriff mit IAM verwalten.

Hilfsversion für einen neuen Dienst erstellen

Das folgende Beispiel zeigt eine abgekürzte Version der Schritte, die Sie zum Aktivieren von Hilfsversionen ausführen. Eine vollständige Schritt-für-Schritt-Anleitung für den gesamten Prozess finden Sie unter Dataproc-Metastore erstellen.

Console

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

    Dataproc Metastore öffnen

  2. Klicken Sie oben auf der Seite Dataproc Metastore auf die Schaltfläche Erstellen.

    Die Seite Dienst erstellen wird geöffnet.

  3. Aktivieren Sie unter Konfiguration der Hilfsversion die Hilfsversionen.

  4. Klicken Sie auf Add Auxiliary Version (AUX-Version hinzufügen).

    1. Geben Sie einen Namen für die Hilfsversion ein.

    2. Wählen Sie eine Version für die Zusatzversion aus.

    3. Optional: Klicken Sie auf + Überschreibungen hinzufügen, um eine Zuordnung auf die Hilfsversion anzuwenden.

    4. Klicken Sie auf Fertig.

  5. Wählen Sie nach Bedarf die verbleibenden Konfigurationen für Ihren Dienst aus.

  6. Klicken Sie auf Senden.

gcloud-CLI

  1. Führen Sie einen der folgenden gcloud metastore services create-Befehle aus, um einen Dataproc Metastore-Dienst mit einer Hilfsversion zu erstellen:

    gcloud metastore services create SERVICE \
        --location=LOCATION \
        --auxiliary-versions=AUXILIARY_VERSIONS, ...
    
    • SERVICE: der Name Ihres Dataproc Metastore-Dienstes.
    • LOCATION: die Region, in der Sie den Dataproc Metastore-Dienst erstellen möchten.
    • AUXILIARY_VERSIONS: eine durch Kommas getrennte Liste der Hive-Metastore-Versionen, die für die Hilfsversion bereitgestellt werden sollen. Es wird nur eine Hilfsversion unterstützt. Verwenden Sie das folgende Format: "2.3.6".
    • AUXILIARY_VERSIONS_FROM_FILE: ein Pfad zu einer YAML-Datei, die die Konfiguration der Hilfsversionen enthält. Weitere Informationen und ein Beispiel finden Sie in der SDK-Dokumentation.
  2. Prüfen Sie, ob die Erstellung erfolgreich war.

curl

Verwenden Sie die Methode create, um einen Dataproc Metastore-Dienst mit einer Hilfsversion zu erstellen.

curl -X POST -s -i \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -d '{"network":"projects/PROJECT_ID/global/networks/default", "port": 9083, "hive_metastore_config": {"auxiliary_versions": {"aux-version1": {"version": "AUX_VERSION"} } } }' \
     -H "Content-Type:application/json" \
     https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services?service_id=SERVICE_ID

Ersetzen Sie Folgendes:

  • SERVICE_ID: der Name Ihres neuen Dataproc Metastore-Dienstes.
  • PROJECT_ID: die ID des Google Cloud-Projekts, in dem Sie den Dataproc Metastore-Dienst erstellen.
  • LOCATION: die Region, in der sich Ihr Dataproc Metastore befindet.
  • AUX_VERSIONS: eine durch Kommas getrennte Liste der bereitzustellenden Hive-Metastore-Versionen. Es wird nur eine Hilfsversion unterstützt.

Hilfsversion für einen vorhandenen Dienst aktualisieren

In der folgenden Anleitung erfahren Sie, wie Sie einen vorhandenen Dataproc Metastore-Dienst aktualisieren, der Hilfsversionen verwendet.

Beim Ausführen eines Aktualisierungsvorgangs können Sie die folgenden Aufgaben ausführen:

  • Fügen Sie eine neue Hilfsversion hinzu.
  • Löschen Sie eine vorhandene Hilfsversion.
  • Überschreibungen einer vorhandenen Hilfsversion hinzufügen oder ändern.

Console

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

    Dataproc Metastore öffnen

  2. Klicken Sie auf der Seite Dataproc Metastore auf den Dienstnamen des Dienstes, den Sie aktualisieren möchten.

    Die Seite Dienstdetails wird geöffnet.

  3. Klicken Sie auf dem Tab Konfiguration auf Bearbeiten.

    Die Seite Dienst bearbeiten wird geöffnet.

  4. Klicken Sie im Bereich Konfiguration der Hilfsversion auf die Ein-/Aus-Schaltfläche, um die Hilfsversionen zu aktivieren oder zu deaktivieren.

    Sie können die folgenden Aufgaben ausführen:

    1. Wenn Sie eine vorhandene Hilfsversion löschen möchten, klicken Sie auf Löschen.

    2. Klicken Sie auf Add Auxiliary Version (Hilfsversion hinzufügen), um eine neue Zusatzversion hinzuzufügen.

    3. Um eine Überschreibungszuordnung auf eine Hilfsversion anzuwenden, klicken Sie auf + Überschreibungen hinzufügen.

  5. Klicken Sie auf Senden.

gcloud-CLI

  1. Führen Sie einen der folgenden gcloud metastore services update-Befehle aus, um einen Dataproc Metastore-Dienst zu aktualisieren, der eine Hilfsversion verwendet:

    gcloud metastore services update SERVICE \
       --location=LOCATION \
       --add-auxiliary-versions=AUXILIARY_VERSIONS, ...
    

    oder

    gcloud metastore services update SERVICE \
       --location=LOCATION \
       --update-auxiliary-versions-from-file=AUXILIARY_VERSIONS_FROM_FILE
    

    Ersetzen Sie Folgendes:

    • SERVICE: der Name Ihres Dataproc Metastore-Dienstes.
    • LOCATION: die Region, in der sich Ihr Dataproc Metastore befindet.
    • AUXILIARY_VERSIONS: eine durch Kommas getrennte Liste der bereitzustellenden Hive-Metastore-Hilfsversionen.
    • AUXILIARY_VERSIONS_FROM_FILE: ein Pfad zu einer YAML-Datei mit der Konfiguration der Hilfsversionen. Weitere Informationen und ein Beispiel finden Sie in der SDK-Dokumentation.
  2. Prüfen Sie, ob die Aktualisierung erfolgreich war.

curl

Verwenden Sie die Methode patch, um einen Dataproc Metastore-Dienst zu aktualisieren, der eine Hilfsversion verwendet.

curl -X PATCH -s -i \
   -H "Authorization: Bearer $(gcloud auth print-access-token)" \
   -d '{"hive_metastore_config": {"auxiliary_versions": {"aux-version1": {"version": "AUX_VERSION} } } }' \
   -H "Content-Type:application/json" \
   https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE_ID?update_mask=hive_metastore_config.auxiliary_versions

Ersetzen Sie Folgendes:

  • SERVICE_ID: der Name Ihres Dataproc Metastore-Dienstes.
  • PROJECT_ID: die Google Cloud-Projekt-ID, in der Sie den Dataproc Metastore-Dienstcluster erstellen.
  • LOCATION: die Region, in der sich Ihr Dataproc Metastore befindet.
  • AUX_VERSIONS: eine durch Kommas getrennte Liste der bereitzustellenden Hive-Metastore-Hilfsversionen.

Nächste Schritte