Dataproc-Image-Version in Cloud Data Fusion ändern

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

Hinweis

Beenden Sie alle Echtzeit-Pipelines und Replikationsjobs in der Cloud Data Fusion-Instanz. Wenn eine Echtzeit-Pipeline oder -Replikation ausgeführt wird, während Sie die Dataproc-Imageversion ändern, werden die Änderungen nicht auf die Pipelineausführung angewendet.

Wenn für Echtzeit-Pipelines das Checkpointing aktiviert ist, gehen beim Stoppen der Pipelines keine Daten verloren. Bei Replikationsjobs führt das Beenden und Starten des Replikationsjobs nicht zu Datenverlusten, solange die Datenbankprotokolle verfügbar sind.

Console

  1. Rufen Sie die Seite Instanzen von Cloud Data Fusion auf und öffnen Sie die Instanz, in der Sie eine Pipeline beenden möchten.

    Zur Seite „VM-Instanzen“

  2. Öffnen Sie jede Echtzeit-Pipeline in Pipeline Studio und klicken Sie auf Anhalten.

  3. Öffnen Sie auf der Seite Replikieren jeden Replikationsjob 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 Echtzeit-Pipeline 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 anhalten und Replikationsjobs anhalten.

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 Systemadministrator > Konfiguration > Systemeinstellungen.

    Klicken Sie auf „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 in das Feld Schlüssel den folgenden Text ein:

      system.profile.properties.imageVersion

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

    3. Klicken Sie auf Speichern & schließen.

Einstellungen für das System festlegen

Diese Änderung wirkt sich auf die gesamte Cloud Data Fusion-Instanz aus, einschließlich aller Namespaces und Pipelineausführungen, es sei denn, die Eigenschaft „Image-Version“ wird in einem Namespace, einer Pipeline oder einem Laufzeitargument in Ihrer Instanz überschrieben.

Dataproc-Image-Version ändern

Die Imageversion kann in der Cloud Data Fusion-Weboberfläche unter „Compute-Konfigurationen“, „Namespace-Einstellungen“ oder „Pipeline-Laufzeitargumente“ festgelegt werden.

Bild in den Namespace-Einstellungen ändern

Wenn Sie die Bildversion in Ihren Namespace-Eigenschaften überschrieben haben, gehen Sie so vor:

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

  2. Klicken Sie auf Systemadministrator > Konfiguration > Namespaces.

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

    1. Achten Sie darauf, dass es keine Überschreibung mit dem Schlüssel system.profile.properties.imageVersion mit einem falschen Wert für die Bildversion gibt.

    2. Klicken Sie auf Beenden.

Bild in „System Compute-Profile“ ändern

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

  2. Klicken Sie auf Systemadministrator > Konfiguration.

  3. Klicken Sie auf „System“ „Rechenprofile“ > „Neues Profil erstellen“.

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

    Dataproc-Bereitsteller auswählen

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

    Geben Sie die Image-Version ein.

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

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

  8. Klicken Sie auf Beenden.

Image in den Laufzeitargumenten der Pipeline ändern

Wenn Sie die Bildversion in den Laufzeitargumenten Ihrer Pipeline mit einer Property überschrieben haben, gehen Sie so vor:

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

  2. Klicken Sie auf das Dreistrich-Menü und dann 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 für Ausführen zu maximieren.

    Das Fenster Laufzeitargumente wird geöffnet.

  5. Prüfen Sie, ob es keine Überschreibung mit dem Schlüssel system.profile.properties.imageVersion mit einer falschen Bildversion als Wert gibt.

  6. Klicken Sie auf Speichern.

    Laufzeitargument für Pipeline festlegen

Von Cloud Data Fusion verwendete statische Dataproc-Cluster mit der ausgewählten Image-Version neu erstellen

Wenn Sie vorhandene Dataproc-Cluster mit Cloud Data Fusion verwenden, folgen Sie dem Dataproc-Leitfaden, 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-Imageversion erstellen und das Compute-Profil in Cloud Data Fusion mit demselben Namen des Compute-Profils und dem aktualisierten Namen des Dataproc-Clusters löschen und neu erstellen. So können Batch-Pipelines im vorhandenen Cluster ausgeführt werden und nachfolgende Pipelineausführungen im neuen Dataproc-Cluster stattfinden. Sie können den alten Dataproc-Cluster löschen, nachdem Sie bestätigt haben, dass alle Pipelineausführungen abgeschlossen sind.

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

Console

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

    Zu den Clustern

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

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

REST API

  1. Liste der Cluster mit ihren Metadaten abrufen:

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

    Ersetzen Sie Folgendes:

    • Ersetzen Sie 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 auf Version 2.2 oder 2.1 ändern

Cloud Data Fusion-Versionen 6.9.1 und höher unterstützen die Compute Engine-Version „Dataproc-Image 2.1“, die in Java 11 ausgeführt wird. In Version 6.10.0 und höher ist Image 2.1 standardmäßig aktiviert.

Wenn Sie von einem früheren Image zu Image 2.2 oder 2.1 wechseln, müssen die JDBC-Treiber, die die Datenbank-Plug-ins in diesen Instanzen verwenden, mit Java 11 kompatibel sein, damit Ihre Batch-Pipelines und Replikationsjobs erfolgreich ausgeführt werden können.

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

  • MapReduce-Jobs werden nicht unterstützt.
  • Die JDBC-Treiberversionen, die in den Datenbank-Plug-ins Ihrer Instanz verwendet werden, müssen aktualisiert werden, damit Java 11 unterstützt wird. In der folgenden Tabelle finden Sie die Treiberversionen, die mit Dataproc 2.2, 2.1 und Java 11 funktionieren:
JDBC-Treiber Ältere Versionen, die aus Cloud Data Fusion 6.9.1 entfernt wurden Von Java 8 und Java 11 unterstützte Versionen, die mit Dataproc 2.2, 2.1 oder 2.0 funktionieren
Cloud SQL for MySQL JDBC-Treiber - 1.0.16
Cloud SQL for PostgreSQL-JDBC-Treiber - 1.0.16
Microsoft SQL Server JDBC-Treiber Microsoft JDBC-Treiber 6.0 Microsoft JDBC-Treiber 9.4
MySQL JDBC-Treiber 5.0.8, 5.1.39 8.0.25
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.2 oder 2.1

Die Arbeitsspeichernutzung kann bei Pipelines mit Dataproc-Clustern der Version 2.2 oder 2.1 steigen. Wenn Sie Ihre Instanz auf Version 6.10 oder höher aktualisieren und vorherige Pipelines aufgrund von Speicherproblemen fehlschlagen, erhöhen Sie den Arbeitsspeicher für Treiber und Executor in der Resources-Konfiguration für die Pipeline auf 2.048 MB.

Arbeitsspeicher für Treiber und Executor erhöhen

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