Managed Service for Apache Spark-Imageversion in Cloud Data Fusion ändern

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

Hinweis

Beenden Sie alle Echtzeitpipelines und Replikationsjobs in der Cloud Data Fusion-Instanz. Wenn eine Echtzeitpipeline oder Replikation ausgeführt wird, während Sie die Image-Version von Managed Service for Apache Spark ändern, werden die Änderungen nicht auf die Pipelineausführung angewendet.

Bei Echtzeitpipelines führt das Beenden der Pipelines nicht zu Datenverlusten, wenn Checkpointing aktiviert ist. Bei Replikationsjobs führt das Beenden und Starten des Replikationsjobs nicht zu Datenverlusten, solange die Datenbanklogs 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üssen.

    Zur Seite „VM-Instanzen“

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

  3. Öffnen Sie jeden Replikationsjob auf der Seite Replizieren 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 Managed Service for Apache Spark in Cloud Data Fusion prüfen und überschreiben

  1. Rufen Sie die Web-UI von Cloud Data Fusion auf.

  2. Klicken Sie auf Systemadministrator > Konfiguration > Systemeinstellungen.

    Klicken Sie auf „Systemeinstellungen bearbeiten“.

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

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

      system.profile.properties.imageVersion

    2. Geben Sie das ausgewählte Managed Service for Apache Spark-Image im Feld Wert, z. B. 2.1 ein.

    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 Image-Versionseigenschaft wird in einem Namespace, einer Pipeline oder einem Laufzeitargument in Ihrer Instanz überschrieben.

Image-Version von Managed Service for Apache Spark ändern

Die Image-Version kann in der Web-UI von Cloud Data Fusion in den Compute-Konfigurationen, Namespace-Einstellungen oder Pipeline-Laufzeitargumenten festgelegt werden.

Image in den Namespace-Einstellungen ändern

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

  1. Rufen Sie die Web-UI von Cloud Data Fusion auf.

  2. Klicken Sie auf Systemadministrator > Konfiguration > Namespaces.

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

    1. Prüfen Sie, ob 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 Beenden.

Image in den System-Compute-Profilen ändern

  1. Rufen Sie die Web-UI von Cloud Data Fusion auf.

  2. Klicken Sie auf Systemadministrator > Konfiguration.

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

  4. Wählen Sie den Bereitsteller Managed Service for Apache Spark aus.

    Dataproc-Provisioner auswählen

  5. Erstellen Sie das Profil für Managed Service for Apache Spark. Geben Sie im Feld Image-Version eine Image-Version von Managed Service for Apache Spark 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 der Pipelineausführung auf Konfigurieren > Compute Konfiguration und wählen Sie dieses Profil aus.

  7. Wählen Sie das Managed Service for Apache Spark-Profil aus und klicken Sie auf Speichern.

  8. Klicken Sie auf Beenden.

Image in den Pipeline-Laufzeitargumenten ändern

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

  1. Rufen Sie die Web-UI von Cloud Data Fusion auf.

  2. Klicken Sie auf das Menü 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 Pfeil , um die Optionen unter Ausführen zu maximieren.

    Das Fenster Laufzeitargumente wird geöffnet.

  5. Prüfen Sie, ob keine Überschreibung mit dem Schlüssel system.profile.properties.imageVersion mit einer falschen Image-Version als Wert vorhanden ist.

  6. Klicken Sie auf Speichern.

    Laufzeitargument für Pipeline festlegen

Statische Managed Service for Apache Spark-Cluster, die von Cloud Data Fusion verwendet werden, mit der ausgewählten Image-Version neu erstellen

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

Alternativ können Sie einen neuen Managed Service for Apache Spark-Cluster mit der ausgewählten Managed Service for Apache Spark-Image-Version erstellen und das Compute-Profil in Cloud Data Fusion mit demselben Compute-Profilnamen und dem aktualisierten Namen des Managed Service for Apache Spark-Clusters löschen und neu erstellen. Auf diese Weise können Batchpipelines die Ausführung auf dem vorhandenen Cluster abschließen und nachfolgende Pipelineausführungen erfolgen auf dem neuen Managed Service for Apache Spark-Cluster. Sie können den alten Managed Service for Apache Spark-Cluster löschen, nachdem Sie bestätigt haben, dass alle Pipelineausführungen abgeschlossen sind.

Prüfen, ob die Image-Version von Managed Service for Apache Spark aktualisiert wurde

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cluster von Managed Service for Apache Spark auf.

    Zu den Clustern

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

    Das Feld 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 finden Sie das Image unter config > softwareConfig > imageVersion.

Image von Managed Service for Apache Spark auf Version 2.1 oder höher ändern

Cloud Data Fusion-Versionen 6.9.1 und höher unterstützen das Managed Service for Apache Spark-Image 2.1 Compute Engine, das in Java 11 ausgeführt wird. In den Versionen 6.10.0 und höher ist Image 2.1 die Standardeinstellung.

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

Für die Managed Service for Apache Spark-Images 2.2 und 2.1 gelten in Cloud Data Fusion die folgenden Einschränkungen:

  • MapReduce-Jobs werden nicht unterstützt.
  • Die in den Datenbank-Plug-ins in Ihrer Instanz verwendeten JDBC-Treiberversionen müssen aktualisiert werden, um Java 11 zu unterstützen. In der folgenden Tabelle finden Sie die Treiberversionen, die mit Managed Service for Apache Spark 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 Managed Service for Apache Spark 2.2, 2.1 oder 2.0 funktionieren
JDBC-Treiber für Cloud SQL for MySQL - 1.0.16
JDBC-Treiber für Cloud SQL for PostgreSQL - 1.0.16
JDBC-Treiber für Microsoft SQL Server Microsoft JDBC-Treiber 6.0 Microsoft JDBC-Treiber 9.4
JDBC-Treiber für MySQL 5.0.8, 5.1.39 8.0.25
JDBC-Treiber für PostgreSQL 9.4.1211.jre7, 9.4.1211.jre8 42.6.0.jre8
JDBC-Treiber für Oracle ojdbc7 ojdbc8 (12c und höher)

Arbeitsspeichernutzung bei Verwendung von Managed Service for Apache Spark 2.1 oder höher

Die Arbeitsspeichernutzung kann bei Pipelines, die Managed Service for Apache Spark 2.1 oder höher verwenden, steigen. Wenn Sie Ihre Instanz auf Version 6.10 oder höher aktualisieren und frühere Pipelines aufgrund von Speicherproblemen fehlschlagen, erhöhen Sie den Treiber- und Executorspeicher in der Konfiguration Resources für die Pipeline auf 2048 MB.

Arbeitsspeicher für Treiber und Executor erhöhen

Alternativ können Sie die Managed Service for Apache Spark-Version überschreiben, indem Sie das Laufzeitargument system.profile.properties.imageVersion auf 2.0-debian10 setzen.