Auf dieser Seite wird erläutert, wie Sie die Funktion für Hilfsversionen mit Dataproc Metastore verwenden.
Mithilfe von Zusatzversionen können Sie zwei verschiedene Versionen eines Hive-Metastores mit einem einzelnen Dataproc Metastore-Dienst verbinden. Mit dieser Konfiguration können Sie mehrere Datenverarbeitungs-Engines unterstützen, die auf 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 in einem Cluster Dataproc Version 2.0 und in einem 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 bereitstellt, während der Dataproc 1.5-Cluster eine Verbindung zu einem Endpunkt herstellt, der Hive-Version 2.3.6 bereitstellt.
So funktionieren Zusatzversionen
Wenn Sie Zusatzversionen aktivieren, stellt Dataproc Metastore für jede Hive Metastore-Version einen separaten Endpunkt bereit. Beide Endpunkte teilen sich jedoch weiterhin dieselbe Metadatendatenbank.
Mit dieser Funktion können Sie keine verschiedenen Metadatensätze mit einem einzelnen Dataproc Metastore-Dienst verwenden. Stattdessen bietet es Ihnen die Möglichkeit, die Kompatibilität zwischen Ihren Diensten zu erweitern und zu verbessern.
Hinweise
Allgemein
Sie können für jeden Dataproc Metastore-Dienst nur eine Hilfsversion erstellen.
Die Zusatzversion muss so konfiguriert sein, dass eine niedrigere Hive Metastore-Version als die primäre Version verwendet wird.
Für die Zusatzversion wird eine separate Protokolldatei als für die primäre Version verwendet. Sie können Cloud Logging verwenden, um Hive-Metastore-Probleme zu beheben.
Funktionsunterstützung
Die Hilfsversion unterstützt die folgenden Funktionen nicht:
- Metadaten importieren, Metadaten exportieren
Sicherung aus einem Metastore, Metastore aus einer Sicherung wiederherstellen
Die metadatenbezogenen Funktionen (Importieren/Exportieren/Sichern/Wiederherstellen) können nur mit der primären Version verwendet werden, da die Backend-Metadaten zwischen beiden Versionen gemeinsam genutzt werden.
Einige Hive-Methoden sind möglicherweise nicht zwischen der Hilfs- und der Hauptversion kompatibel. Diese Kompatibilität hängt davon ab, welche Hive-Versionen Sie für Ihre primäre und Hilfsversion verwenden und welche Methoden zwischen den Hive-Versionen kompatibel sind.
Nicht alle Funktionen einer primären Dataproc Metastore-Instanz werden von der Zusatzversion unterstützt. Das Einfügen von Einträgen in eine Hive-Transaktionstabelle wird beispielsweise nicht unterstützt, wenn ein Hive 2-Client mit einer Hilfsversion 2.3.6 verbunden ist. Dieser Vorgang wird jedoch mit einem Hive 3-Client unterstützt, der mit der primären Version 3.1.2 verbunden ist.
Wenn eine Funktion in einer niedrigeren Hive-Version in einer höheren Hive-Version eingestellt wird, wird die eingestellte Funktion von der entsprechenden niedrigeren Hilfsversion nicht unterstützt. Hive 2 unterstützt beispielsweise Indexe, aber eine Hilfsversion mit Hive 2.3.6 unterstützt den Index nicht, wenn die Hauptversion Hive 3.1.2 verwendet.
Das Erstellen von Transaktionstabellen mithilfe der Hilfsversion oder das Einfügen von Daten in Transaktionstabellen in der Hilfsversion wird verhindert.
Gemeinsame Properties zwischen Versionen
Wenn Sie eine Zusatzversion erstellen, werden einige Eigenschaften gemeinsam verwendet und bleiben zwischen der Zusatzversion und der Hauptversion gleich. Andere Properties werden nicht gemeinsam verwendet und sind für beide Versionen getrennt.
In der folgenden Tabelle sind diese Unterschiede aufgeführt.
Attribute | Verbreitet | Getrennt |
---|---|---|
Endpunkt | ✓ | |
Hive-Konfigurationsüberschreibungen* | ✓ | |
Kerberos-Konfiguration | ✓ | |
Endpunktprotokoll (Thrift/gRPC) | ✓ | |
Thrift-Port | ✓ | |
Cloud Storage-Bucket für Artefakte | ✓ | |
Stufe | ✓ | |
Wartungsfenster | ✓ | |
Release-Version | ✓ | |
Verschlüsselungskonfiguration | ✓ | |
Datenbanktyp | ✓ | |
Data Catalog-Synchronisierung | ✓ | |
Messwert „Anzahl der Anfragen“ | ✓ | |
Netzwerkkonfigurationen | ✓ |
* Die Hive-Konfigurationsüberschreibungen bleiben zwischen der Zusatz- und der Hauptversion getrennt. Die Zusatzversion verweist jedoch auf eine zusammengeführte Liste der Überschreibungen (Haupt- und Zusatzversion). In diesem Fall hat die sekundäre Konfiguration Vorrang vor der primären Konfiguration.
Hinweise
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigung zum Erstellen eines Dataproc Metastores mit Hilfsversionen zu erhalten. Dabei wird das Prinzip der geringsten Berechtigung angewendet:
-
Vollständige Kontrolle über Dataproc Metastore-Ressourcen gewähren (
roles/metastore.editor
) -
Vollzugriff auf alle Dataproc Metastore-Ressourcen gewähren, einschließlich der Verwaltung von IAM-Richtlinien (
roles/metastore.admin
)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigung metastore.services.create
, die zum Erstellen eines Dataproc-Metastores mit Hilfsversionen erforderlich ist.
Sie können 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.Zusatzversion für einen neuen Dienst erstellen
Das folgende Beispiel zeigt eine gekürzte Version der Schritte, die Sie ausführen müssen, um Hilfsversionen zu aktivieren. Eine vollständige 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 Zusatzversion die Zusatzversionen.
Klicken Sie auf Hilfsversion hinzufügen.
Geben Sie einen Namen für die Zusatzversion 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 übrigen 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 Ihren Dataproc Metastore-Dienst erstellen möchten.AUXILIARY_VERSIONS
: eine durch Kommas getrennte Liste der Hive-Metastore-Versionen, die für Ihre Hilfsversion bereitgestellt werden sollen. Es wird nur eine Hilfsversion unterstützt. Verwenden Sie das folgende Format:"2.3.6"
.AUXILIARY_VERSIONS_FROM_FILE
: 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 des neuen Dataproc Metastore-Dienstes.PROJECT_ID
: die Google Cloud-Projekt-ID, in der Sie den Dataproc Metastore-Dienst erstellen.LOCATION
: die Region, in der sich Ihr Dataproc Metastore befindet.AUX_VERSIONS
: eine durch Kommas getrennte Liste der zu implementierenden Hive-Metastore-Versionen. Es wird nur eine Hilfsversion unterstützt.
Zusatzversion für einen vorhandenen Dienst aktualisieren
In der folgenden Anleitung wird gezeigt, wie Sie einen vorhandenen Dataproc Metastore-Dienst aktualisieren, der Hilfsversionen verwendet.
Wenn Sie einen Aktualisierungsvorgang ausführen, können Sie die folgenden Aufgaben ausführen:
- Fügen Sie eine neue Zusatzversion hinzu.
- Löschen Sie eine vorhandene Zusatzversion.
Fügen Sie einer vorhandenen Zusatzversion Überschreibungen hinzu oder ändern Sie diese.
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 Hilfsversionen zu aktivieren oder zu deaktivieren.
Sie können die folgenden Aufgaben ausführen:
Klicken Sie auf Löschen, um eine vorhandene Hilfsversion zu löschen.
Klicken Sie auf Zusatzversion hinzufügen, um eine neue Zusatzversion hinzuzufügen.
Wenn Sie eine Überschreibungszuordnung auf eine Hilfsversion anwenden möchten, klicken Sie auf + Überschreibungen hinzufügen.
Klicken Sie auf Senden.
gcloud-CLI
Wenn Sie einen Dataproc Metastore-Dienst aktualisieren möchten, der eine Hilfsversion verwendet, führen Sie einen der folgenden
gcloud metastore services update
-Befehle aus: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 zu implementierenden Hive-Metastore-Hilfsversionen.AUXILIARY_VERSIONS_FROM_FILE
: 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 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 zu implementierenden Hive-Metastore-Hilfsversionen.