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:
- Metadaten importieren, Metadaten exportieren
Aus einem Metastore sichern, Metastore aus einer Sicherung wiederherstellen
Die Metadaten-bezogenen Features (Import/Export/Sicherung/Wiederherstellung) können nur mit der Hauptversion verwendet werden, da die Back-End-Metadaten zwischen beiden Versionen gemeinsam genutzt werden.
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:
-
Vollständige Kontrolle über Dataproc Metastore-Ressourcen gewähren (
roles/metastore.editor
) -
Uneingeschränkten Zugriff auf alle Dataproc Metastore-Ressourcen gewähren, einschließlich Verwaltung von IAM-Richtlinien (
roles/metastore.admin
)
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
Öffnen Sie in der Google Cloud Console die Seite "Dataproc Metastore":
Klicken Sie oben auf der Seite Dataproc Metastore auf die Schaltfläche Erstellen.
Die Seite Dienst erstellen wird geöffnet.
Aktivieren Sie unter Konfiguration der Hilfsversion die Hilfsversionen.
Klicken Sie auf Add Auxiliary Version (AUX-Version hinzufügen).
Geben Sie einen Namen für die Hilfsversion ein.
Wählen Sie eine Version für die Zusatzversion aus.
Optional: Klicken Sie auf + Überschreibungen hinzufügen, um eine Zuordnung auf die Hilfsversion anzuwenden.
Klicken Sie auf Fertig.
Wählen Sie nach Bedarf die verbleibenden Konfigurationen für Ihren Dienst aus.
Klicken Sie auf Senden.
gcloud-CLI
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.
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
Öffnen Sie in der Google Cloud Console die Seite "Dataproc Metastore":
Klicken Sie auf der Seite Dataproc Metastore auf den Dienstnamen des Dienstes, den Sie aktualisieren möchten.
Die Seite Dienstdetails wird geöffnet.
Klicken Sie auf dem Tab Konfiguration auf Bearbeiten.
Die Seite Dienst bearbeiten wird geöffnet.
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:
Wenn Sie eine vorhandene Hilfsversion löschen möchten, klicken Sie auf Löschen.
Klicken Sie auf Add Auxiliary Version (Hilfsversion hinzufügen), um eine neue Zusatzversion hinzuzufügen.
Um eine Überschreibungszuordnung auf eine Hilfsversion anzuwenden, klicken Sie auf + Überschreibungen hinzufügen.
Klicken Sie auf Senden.
gcloud-CLI
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.
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.