Dataproc-Image-Version in Cloud Data Fusion ändern

Auf dieser Seite wird beschrieben, wie Sie die von Ihrer Cloud Data Fusion-Instanz verwendete Dataproc-Image-Version ändern. Sie können das Image auf Instanz-, Namespace- oder Pipelineebene ändern.

Hinweise

Beenden Sie alle Echtzeitpipelines und Replikationsjobs in der Cloud Data Fusion-Instanz. Wenn beim Ändern der Dataproc-Image-Version eine Echtzeitpipeline oder Replikation ausgeführt wird, werden die Änderungen nicht auf die Pipelineausführung angewendet.

Wenn bei Echtzeitpipelines Prüfpunktausführung aktiviert ist, führt das Beenden der Pipelines zu keinem Datenverlust. Bei Replikationsjobs verursacht das Beenden und Starten des Replikationsjobs keinen Datenverlust, solange die Datenbanklogs verfügbar sind.

Console

  1. Rufen Sie die Cloud Data Fusion-Seite Instanzen auf (klicken Sie in CDAP auf Instanzen ansehen) und öffnen Sie die Instanz, bei der Sie eine Pipeline beenden müssen.

    Zur Seite „VM-Instanzen“

  2. Öffnen Sie jede Echtzeitpipeline in Pipeline Studio und klicken Sie auf Stop (Beenden).

  3. Öffnen Sie jeden Replikationsjob auf der Seite Replikatieren und klicken Sie auf Beenden.

REST API

  • Verwenden Sie den folgenden REST API-Aufruf, um alle Pipelines abzurufen:

    GET -H "Authorization: Bearer ${AUTH_TOKEN}" \
    "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps"
    

    Ersetzen Sie NAMESPACE_ID durch den Namen Ihres Namespace.

  • Verwenden Sie den folgenden REST API-Aufruf, um eine Echtzeitpipeline zu beenden:

    POST -H "Authorization: Bearer ${AUTH_TOKEN}" \
    "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/PIPELINE_NAME/spark/DataStreamsSparkStreaming/stop"
    

    Ersetzen Sie NAMESPACE_ID durch den Namen Ihres Namespace und PIPELINE_NAME durch den Namen der Echtzeitpipeline.

  • Verwenden Sie den folgenden REST API-Aufruf, um einen Replikationsjob zu beenden:

    POST -H "Authorization: Bearer ${AUTH_TOKEN}" \
    "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/REPLICATION_JOB_NAME/workers/DeltaWorker/stop"
    

    Ersetzen Sie NAMESPACE_ID durch den Namen Ihres Namespace und REPLICATION_JOB_NAME durch den Namen des Replikationsjobs.

    Weitere Informationen finden Sie unter Echtzeitpipelines beenden und Replikationsjobs beenden.

Standardversion von Dataproc in Cloud Data Fusion prüfen und überschreiben

  1. Rufen Sie die Weboberfläche von Cloud Data Fusion auf.

  2. Klicken Sie auf System Admin > Configuration > System Settings (Systemadministrator > Konfiguration > Systemeinstellungen).

    Systemeinstellungen bearbeiten

  3. Wenn in den Systemeinstellungen kein Dataproc-Image angegeben ist oder Sie die Einstellung ändern möchten, klicken Sie auf Systemeinstellungen bearbeiten.

    1. Geben Sie den folgenden Text in das Feld Schlüssel ein:

      system.profile.properties.imageVersion

    2. Geben Sie das ausgewählte Dataproc-Image in das Feld Wert ein, z. B. 2.1.

    3. Klicken Sie auf Speichern & schließen.

Einstellungen für System festlegen

Diese Änderung betrifft die gesamte Cloud Data Fusion-Instanz, einschließlich aller zugehörigen Namespaces und Pipelineausführungen, es sei denn, das Attribut der Image-Version wird in einem Namespace, einer Pipeline oder einem Laufzeitargument in Ihrer Instanz überschrieben.

Dataproc-Image-Version ändern

Die Image-Version kann in der Cloud Data Fusion-Weboberfläche in den Compute-Konfigurationen, Namespace-Einstellungen oder Pipeline-Laufzeitargumenten festgelegt werden.

Image in Namespace-Einstellungen ändern

Wenn Sie die Image-Version in Ihren Namespace-Attributen überschrieben haben, gehen Sie so vor:

  1. Rufen Sie die Weboberfläche von Cloud Data Fusion auf.

  2. Klicken Sie auf System Admin > Configuration > Namespaces.

  3. Öffnen Sie jeden Namespace und klicken Sie auf Einstellungen.

    1. Achten Sie darauf, dass keine Überschreibung mit dem Schlüssel system.profile.properties.imageVersion mit einem falschen Wert für die Image-Version vorhanden ist.

    2. Klicken Sie auf Finish (Beenden).

Image in System-Computing-Profilen ändern

  1. Rufen Sie die Weboberfläche von Cloud Data Fusion auf.

  2. Klicken Sie auf System Admin > Configuration (Systemadministrator).

  3. Klicken Sie auf Compute-Profile > Neues Profil erstellen.

  4. Wählen Sie den Dataproc-Bereitsteller aus.

    Bereitsteller auswählen

  5. Erstellen Sie das Profil für Dataproc. Geben Sie im Feld Image-Version eine Dataproc-Image-Version ein.

    Feld für Image-Version

  6. Wählen Sie dieses Compute-Profil aus, während Sie die Pipeline auf der Seite Studio ausführen. Klicken Sie auf der Seite zur Pipelineausführung auf Konfigurieren > Compute-Konfiguration und wählen Sie dieses Profil aus.

  7. Wählen Sie das Dataproc-Profil aus und klicken Sie auf Speichern.

  8. Klicken Sie auf Finish (Beenden).

Image in Pipeline-Laufzeitargumenten ändern

Wenn Sie die Image-Version mit einem Attribut in den Laufzeitargumenten Ihrer Pipeline überschrieben haben, gehen Sie so vor:

  1. Rufen Sie die Weboberfläche von Cloud Data Fusion auf.

  2. Klicken Sie auf Menü > Liste.

  3. Wählen Sie auf der Seite Liste die Pipeline aus, die Sie aktualisieren möchten.

    Die Pipeline wird auf der Seite Studio geöffnet.

  4. Klicken Sie auf den Erweiterungspfeil , um die Optionen unter Ausführen zu maximieren.

    Das Fenster Laufzeitargumente wird geöffnet.

  5. Es darf keine Überschreibung mit dem Schlüssel system.profile.properties.imageVersion vorhanden sein, die eine falsche Image-Version als Wert enthält.

  6. Klicken Sie auf Speichern.

    Laufzeitargument für Pipeline festlegen

Statische Dataproc-Cluster, die von Cloud Data Fusion mit ausgewählter Image-Version verwendet werden, neu erstellen

Wenn Sie vorhandene Dataproc-Cluster mit Cloud Data Fusion verwenden, folgen Sie der Dataproc-Anleitung, um die Cluster mit der ausgewählten Dataproc-Image-Version für Ihre Cloud Data Fusion-Version neu zu erstellen.

Alternativ können Sie einen neuen Dataproc-Cluster mit der ausgewählten Dataproc-Image-Version erstellen und das Compute-Profil in Cloud Data Fusion mit demselben Compute-Profilnamen und dem aktualisierten Dataproc-Clusternamen löschen und neu erstellen. So kann durch Ausführen von Batchpipelines die Ausführung im vorhandenen Cluster abgeschlossen werden und nachfolgende Pipelineausführungen werden auf dem neuen Dataproc-Cluster ausgeführt. Sie können den alten Dataproc-Cluster löschen, nachdem Sie sich vergewissert haben, dass alle Pipelineausführungen abgeschlossen sind.

Prüfen, ob die Dataproc-Image-Version aktualisiert ist

Console

  1. Rufen Sie in der Google Cloud Console die Dataproc-Seite Cluster auf.

    Zu den Clustern

  2. Öffnen Sie die Seite Clusterdetails für den neuen Cluster, den Cloud Data Fusion erstellt hat, als Sie die neue Version angegeben haben.

    Das Feld Image version (Image-Version) enthält den neuen Wert, den Sie in Cloud Data Fusion angegeben haben.

REST API

  1. Rufen Sie die Liste der Cluster mit ihren Metadaten ab:

    GET -H "Authorization: Bearer ${AUTH_TOKEN}" \
    https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION_ID/clusters
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID durch den Namen Ihres Namespace
    • REGION_ID durch den Namen der Region, in der sich Ihre Cluster befinden
  2. Suchen Sie nach dem Namen Ihrer Pipeline (Clustername).

  3. Unter diesem JSON-Objekt sehen Sie das Bild in config > softwareConfig > imageVersion.

Dataproc-Image in Version 2.1 ändern

Cloud Data Fusion-Versionen 6.9.1 und höher unterstützen das Dataproc-Image 2.1 Compute Engine, das in Java 11 ausgeführt wird. Ab Version 6.10.0 ist Image 2.1 die Standardeinstellung.

Wenn Sie zu Image 2.1 wechseln, damit Ihre Batchpipelines und Replikationsjobs erfolgreich sind, müssen die JDBC-Treiber, die die Datenbank-Plug-ins in diesen Instanzen verwenden, mit Java 11 kompatibel sein.

Für Dataproc-Image 2.1 gelten in Cloud Data Fusion die folgenden Einschränkungen:

  • Die JDBC-Treiber von IBM Netezza und DB2 11 werden nicht unterstützt.
  • Bild 2.1 funktioniert nicht mit MapReduce-Jobs.
  • Die in den Datenbank-Plug-ins in Ihrer Instanz verwendeten JDBC-Treiberversionen müssen aktualisiert werden, damit sie Java 11 unterstützen. In der folgenden Tabelle finden Sie die Treiberversionen, die mit Dataproc 2.1 und Java 11 funktionieren:
JDBC-Treiber Frühere Versionen wurden aus Cloud Data Fusion 6.9.1 entfernt Von Java 8 und Java 11 unterstützte Versionen, die mit Dataproc 2.0 oder 2.1 kompatibel sind
JDBC-Treiber für Cloud SQL for MySQL - 1.0.16
JDBC-Treiber für Cloud SQL for PostgreSQL - 1.0.16
DB2 11 JDBC-Treiber - -
JDBC-Treiber für Microsoft SQL Server Microsoft JDBC-Treiber 6.0 Microsoft JDBC-Treiber 9.4
MySQL-JDBC-Treiber 5.0.8, 5.1.39 8.0.25
IBM Netezza-JDBC-Treiber - -
PostgreSQL-JDBC-Treiber 9.4.1211.jre7, 9.4.1211.jre8 42.6.0.jre8
Oracle-JDBC-Treiber ojdbc7 ojdbc8 (12c und höher)

Arbeitsspeichernutzung bei Verwendung von Dataproc 2.1

Die Arbeitsspeichernutzung von Pipelines, die Dataproc 2.1-Cluster verwenden, kann sich erhöhen. Wenn Sie Ihre Instanz auf Version 6.10.0 oder höher upgraden und frühere Pipelines aufgrund von Speicherproblemen ausfallen, erhöhen Sie den Treiber- und Executor-Arbeitsspeicher in der Resources-Konfiguration für die Pipeline auf 2.048 MB. Konfigurieren Sie die Ressourcen.

Alternativ können Sie die Dataproc-Version überschreiben, indem Sie das Laufzeitargument system.profile.properties.imageVersion auf 2.0-debian10 setzen.