Auf dieser Seite wird erläutert, wie Sie die Funktion für zusätzliche Versionen mit Dataproc Metastore verwenden.
Mit 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.
Mit zusätzlichen Versionen 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 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 verwenden jedoch weiterhin dieselbe Metadatendatenbank.
Mit dieser Funktion können Sie nicht verschiedene Metadatensätze mit einem einzelnen Dataproc Metastore-Dienst verwenden. Stattdessen bietet sie Ihnen die Möglichkeit, die Kompatibilität zwischen Ihren Diensten zu erweitern und zu verbessern.
Hinweise
Allgemein
Sie können nur eine Hilfsversion für jeden Dataproc Metastore-Dienst erstellen.
Die Zusatzversion muss so konfiguriert sein, dass sie eine niedrigere Hive Metastore-Version als die primäre Version verwendet.
Die Zusatzversion führt eine separate Logdatei als die primäre Version. Sie können Cloud Logging verwenden, um Probleme mit dem Hive-Metastore zu beheben.
Funktionsunterstützung
Die Hilfsversion unterstützt die folgenden Funktionen nicht:
- Metadaten importieren, Metadaten exportieren
Aus einem Metastore sichern, 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 sekundären und der primären Version kompatibel. Diese Kompatibilität hängt davon ab, welche Hive-Versionen Sie für Ihre primären und sekundären Versionen verwenden, und von den Methoden, die 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 Datensätzen in eine transaktionale Hive-Tabelle wird beispielsweise nicht unterstützt, wenn ein Hive 2-Client mit einer Hilfsversion 2.3.6 interagiert. Dieser Vorgang wird jedoch mit einem Hive 3-Client unterstützt, der mit der primären Version 3.1.2 interagiert.
Wenn eine Funktion in einer niedrigeren Hive-Version in einer höheren Hive-Version verworfen wird, wird die verworfene Funktion in der entsprechenden niedrigeren Hilfsversion nicht unterstützt. Hive 2 unterstützt beispielsweise Indizes. Eine Hilfsversion mit Hive 2.3.6 unterstützt den Index jedoch nicht, wenn die primäre Version mit Hive 3.1.2 ausgeführt wird.
Das Erstellen von Transaktionstabellen mit der Hilfsversion oder das Einfügen von Daten in Transaktionstabellen in der Hilfsversion ist nicht möglich.
Gemeinsame Eigenschaften zwischen Versionen
Wenn Sie eine Zusatzversion erstellen, werden einige Eigenschaften zwischen der Zusatzversion und der primären Version geteilt und bleiben gleich. Andere Eigenschaften werden nicht freigegeben und sind in beiden Versionen separat.
In der folgenden Tabelle sind diese Unterschiede aufgeführt.
Eigenschaften | Verbreitet | Trennen |
---|---|---|
Endpunkt | ✓ | |
Überschreibungen für die Hive-Konfiguration* | ✓ | |
Kerberos-Konfiguration | ✓ | |
Endpunktprotokoll (Thrift/gRPC) | ✓ | |
Thrift-Port | ✓ | |
Cloud Storage-Bucket für Artefakte | ✓ | |
Stufe | ✓ | |
Wartungsfenster | ✓ | |
Release-Version | ✓ | |
Verschlüsselungskonfiguration | ✓ | |
Datenbanktyp | ✓ | |
Ein/Aus-Schalter für die Data Catalog-Synchronisierung | ✓ | |
Messwert „Anzahl der Anfragen“ | ✓ | |
Netzwerkkonfigurationen | ✓ |
* Die Hive-Konfigurationsüberschreibungen bleiben zwischen der Zusatz- und der primären Version getrennt. Die Zusatzversion verweist jedoch auf eine zusammengeführte Liste der Überschreibungen (primär + sekundär). In diesem Fall hat die Hilfskonfiguration 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 Metastore zu erhalten, der Hilfsversionen verwendet, basierend auf dem Prinzip der geringsten Berechtigung:
-
Vollständige Kontrolle über Dataproc Metastore-Ressourcen gewähren (
roles/metastore.editor
) -
Vollzugriff auf alle Dataproc Metastore-Ressourcen gewähren, einschließlich der IAM-Richtlinienverwaltung (
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 Metastore 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 abgekürzte Version der Schritte, die Sie ausführen müssen, um zusätzliche Versionen zu aktivieren. 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 Zusatzversion die Zusatzversionen.
Klicken Sie auf Zusätzliche Version hinzufügen.
Geben Sie einen Namen für die Zusatzversion ein.
Wählen Sie eine Version für Ihre 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 zusätzlichen Version 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 Ihres 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 bereitzustellenden 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.
- Eine vorhandene Zusatzversion löschen.
Überschreibungen einer vorhandenen Zusatzversion 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 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.
Wenn Sie eine neue Zusatzversion hinzufügen möchten, klicken Sie auf Zusatzversion hinzufügen.
Wenn Sie eine Überschreibungszuordnung auf eine Hilfsversion anwenden möchten, 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 zu bereitstellenden zusätzlichen Hive-Metastore-Versionen.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 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 bereitstellenden zusätzlichen Hive-Metastore-Versionen.