Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Upgrade von Remote Engine ab Version v2.11.8 für Datendienst-Job- oder Routen-Tasks

Aktualisieren Sie Ihre Remote Engine, ohne dazu die zurzeit auf der Engine ausgeführten Datendienst-Job- oder Routen-Tasks deimplementieren bzw. neu implementieren zu müssen.

Microservice-Tasks werden beim ersten Herunterfahren der Remote Engine automatisch angehalten und beim Start der neuen Remote Engine-Version wiederaufgenommen.

Vorbereitungen

  • Die zu aktualisierende Remote Engine muss eine Version ab v2.11.8 aufweisen. Wenn Sie eine Version bis v2.11.7 verwenden, müssen Sie diese vor dem Start dieses Verfahrens zunächst auf die neueste Version aktualisieren (siehe die Beschreibung in „Upgrade von Talend Remote Engine“).
  • Generieren Sie ein Dienstkonto-Token (SAT: Service Account Token), um zur Durchführung dieses Vorgangs ein Dienstkonto zu verwenden. Weitere Informationen zur Generierung dieses Tokens finden Sie unter „Generieren eines Dienstkonto-Tokens“.

    Die Nutzung eines Dienstkontos ist eine weit verbreitete Sicherheitsmaßnahme für die Automatisierung in Produktionsumgebungen. Die Verwendung eines persönlichen Zugriffstokens (PAT: Personal Access Token) ist technisch zwar möglich, zur Stärkung der Sicherheit wird jedoch der Einsatz eines Dienstkontos empfohlen.

    Weitere Informationen zur Generierung eines persönlichen Zugriffstokens finden Sie unter „Generieren persönlicher Zugriffstoken“.

  • Rufen Sie die IDs der zu aktualisierenden Engines ab, entweder über den entsprechenden API-Endpunkt oder über die Webseite von Talend Management Console:
    • API-Endpunkt: Verfügbare Remote Engines abrufen. Die Engine-IDs werden in der Antwort im Feld id angegeben. Kopieren Sie die IDs der zu aktualisierenden Engines und bewahren Sie sie an einem Ort Ihrer Wahl zur späteren Verwendung auf.
    • Webseite von Talend Management Console: Die ID einer Remote Engine wird auf der Registerkarte Overview (Übersicht) der Seite Engine details (Engine-Details) angegeben.
      Dialogfeld mit den Engine-Details
      Die betreffende Engine befindet sich in einem Cluster. In diesem Fall sieht die URL folgendermaßen aus:
      https://app.eu.cloud.talend.com/tmc/processing/engines/5bf0452b853ce935a13ed9e6/cluster/646c7931d5380f70c1d217fc/assigned-engine/646c790a2373b74412c26047/details/info
      Die ID entspricht 646c790a2373b74412c26047.

Prozedur

  1. Verwenden Sie den spezifischen API-Endpunkt oder die Web-UI von Talend Management Console, um die Kopplung der zu aktualisierenden Remote Engine mit der angegebenen logischen Engine-Entität in Talend Management Console aufzuheben.

    Example

    • API-Endpunkt:
      curl -X DELETE "$RE_APFIRST_ENDPOINT/processing/runtimes/remote-engines/$RE_ENGINE_ID/pairing?keepOsgiDeployments=true&keepMicroserviceDeployments=true" -H "Authorization: Bearer $RE_TOKEN"
      In diesem Befehl:
      • $RE_APFIRST_ENDPOINT ist die URL von Talend Management Console, z. B. https://api.us.cloud.talend.com/.

        Die URL des API-Endpunkts für Ihre Region finden Sie unter „Regionen der Endpunkte“.

      • $RE_ENGINE_ID ist die ID der Engine, deren Kopplung aufgehoben werden soll.
      • $RE_TOKEN ist das Dienstkonto-Token (empfohlen) bzw. das persönliche Zugriffstoken des zu verwendenden Kontos.
      Sie können diese Variablen entweder durch ihre aktuellen Werte im Befehl ersetzen oder sie in der Umgebung Ihrer API-Requests festlegen. Wenn Sie Talend API Tester zur Ausgabe Ihres API-Endpunkts verwenden, finden Sie weitere Informationen zur Festlegung von Variablen unter „Erstellen von Umgebungen“.

      Bei der Ausführung des Befehls wird automatisch ein neuer vorgenehmigter Schlüssel generiert. Bewahren Sie diesen Schlüssel an dem Speicherort Ihrer Wahl auf, da Sie ihn in den folgenden Schritten zur Kopplung der neuen Remote Engine benötigen.

    • Webseite von Talend Management Console: Führen Sie dieses Verfahren aus, um zum Bereich Reset the connection (Verbindung zurücksetzen) im Fenster Engine details (Engine-Details) der zu entkoppelnden Engine zu gelangen, und klicken Sie in diesem Bereich auf Reset the key (Schlüssel zurücksetzen), um die Kopplung der Engine aufzuheben und einen neuen Kopplungsschlüssel abzurufen.
  2. Warten Sie mindestens 2 Minuten, um sicherzustellen, dass die Engine ordnungsgemäß entkoppelt wurde.

    Example

    Die nachstehende Beispielmeldung aus den Engine-Logs verweist darauf, dass der Entkopplungsprozess erfolgreich abgeschlossen wurde.
    Logs, die mit der Zeile "re_state": "RETIRED" auf den Engine-Status „Eingestellt“ verweisen.
  3. Halten Sie die entkoppelte Engine auf dem entsprechenden Hostgerät mithilfe des folgenden Befehls an:
    <RemoteEngine_installation>/bin/stop
    Wenn die Engine als Systemdienst installiert wurde, halten Sie sich an das jeweilige Verfahren Ihres Betriebssystems, um den Dienst zu beenden.
  4. Installieren und konfigurieren Sie die neue Remote Engine-Version.
    • Wenn Sie das Installationsprogramm zur Installation der neuen Engine heranziehen, verwenden Sie noch nicht den eigentlichen vorgenehmigten Schlüssel, sobald Sie zur Angabe eines Schlüssels aufgefordert werden, sondern stattdessen einen genehmigten Fake-Schlüssel.
    • Wenn Sie die neue Engine als Systemdienst installiert haben, halten Sie den Dienst an, bevor Sie mit den folgenden Schritten fortfahren.
  5. Kopieren Sie die Daten von der alten in die neue Engine.
    Durch das Kopieren der Daten können Sie die unterbrechungsfreie Ausführung Ihrer Datendienst-Job- bzw. Routen-Tasks sicherstellen. Kopieren Sie deshalb jeden Typ von Daten in die entsprechenden Ordner, wie von der Remote Engine erwartet.
    1. Kopieren Sie den Ordner dsrunner in Old_RemoteEngine_installation/data/ und fügen Sie ihn in New_RemoteEngine_installation/data/ ein.
      Dieser Ordner enthält die Taskinformationen.
    2. Kopieren Sie den Ordner cls in Old_RemoteEngine_installation/data/ und fügen Sie ihn in New_RemoteEngine_installation/data/ ein.
      Dieser Ordner enthält die Tasklogs.
    3. Aktualisieren Sie auf der neuen Remote Engine den Pfad der zu verwendenden neuen Engine in allen .metadata-Dateien, die in den verschiedenen Taskordnern in New_RemoteEngine_installation/data/dsrunner/exec/osgi gespeichert sind.

      Example

      Pfad des osgi-Ordnerinhalts

      Öffnen Sie im Beispielordner New_RemoteEngine_installation/data/dsrunner/osgi/02141bff-bffe-4975-8835-7dd9ff77b62a die Datei .metadata und suchen Sie nach der folgenden Zeile, die dem Pfad der zu verwendenden Engine entspricht:
      "artifactFile":"Old_RemoteEngine_installation/data/dsrunner/exec/osgi/5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0/SimpleRecipientList_OSGI_0.1.0.20231303094541.kar"
      Ersetzen Sie die Zeile dann durch den Pfad der neuen Remote Engine:
      "artifactFile":"New_RemoteEngine_installation/data/dsrunner/exec/osgi/5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0/SimpleRecipientList_OSGI_0.1.0.20231303094541.kar"
      Wenn Sie Windows verwenden, sieht dieser Pfad folgendermaßen aus:
      RemoteEngine_installation\\data\\dsrunner\\exec\\osgi\\02141bff-bffe-4975-8835-7dd9ff77b62a\\ro_20230209_SimpleTimerRoute_801_OSGi_0.1.2.20232505013343.kar
    4. Aktualisieren Sie des Weiteren auf der neuen Remote Engine den Pfad der Logdateien für jede Ausführung.
      Sie finden diese Information in jeder Datei <TASKID>-<EXECUTION_ID>-state.dat in New_RemoteEngine_installation/data/cls.

      Example

      Öffnen Sie die Beispieldatei New_RemoteEngine_installation/data/cls/640ef0c6a45e743a0b2580ca-5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0-state.dat und suchen Sie nach der folgenden Zeile, die dem Pfad entspricht, der aktualisiert werden muss:
      "currentFilePath":"Old_RemoteEngine_installation/data/cls/640ef0c6a45e743a0b2580ca-5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0-2023-05-10-14-001.json.log"
      Ersetzen Sie die Zeile dann durch den neuen Pfad auf der neuen Remote Engine:
      "currentFilePath":"New_RemoteEngine_installation/data/cls/640ef0c6a45e743a0b2580ca-5f69d7c4-e3d8-4d41-b248-b94a20d7cbf0-2023-05-10-14-001.json.log"
      Unter Windows sieht dieser Pfad folgendermaßen aus:
      "currentFilePath":"RemoteEngine_installation\\data\\cls\\647867abadf89464d65ab1f2-02141bff-bffe-4975-8835-7dd9ff77b62a-2023-06-01-11-001.json.log
  6. Koppeln Sie die neue Remote Engine mit der Engine von Talend Management Console, die Sie zuvor von der alten Remote Engine entkoppelt haben.
    1. Geben Sie in der Datei New_RemoteEngine_installation/etc/org.talend.ipaas.rt.pairing.client.cfg den Endpunkt für die Kopplung von Talend Management Console in der folgenden Zeile an:
      pairing.service.url=https://pair.<your_datacenter>.cloud.talend.com

      Die jeweils zu verwendende Endpunkt-URL finden Sie im Remote Engine-Kopplungseintrag für Ihre Region unter „Talend Cloud-Regionen und -URLs“.

      Wenn Sie die neue Engine mithilfe des Installationsprogramms installiert haben, können Sie diesen Schritt überspringen, da der Endpunkt in diesem Fall automatisch angegeben wird.

    2. Ersetzen Sie in New_RemoteEngine_installation/etc/preauthorized.key.cfg den vorgenehmigten Fake-Schlüssel durch den tatsächlichen Schlüssel, der durch den Entkopplungsaufruf zu Beginn des Verfahrens generiert wurde.
      Sollten Sie diesen vorgenehmigten Schlüssel verloren haben, finden Sie ihn im Feld Remote Engine key (Schlüssel der Remote Engine) des zu koppelnden Engine-Elements in Talend Management Console. Weitere Informationen zum Auffinden dieses Schlüssels finden Sie unter „Erstellen von Remote Engines“.
  7. Starten Sie die neue Remote Engine.
    Weitere Informationen finden Sie unter „Starten von Talend Remote Engine“.

Ergebnisse

Prüfen Sie den Taskstatus in Talend Management Console, indem Sie sich vergewissern, dass die Datendienst-Job- und Routen-Tasks aktiv sind und ausgeführt werden. Für alle Tasks sollten zudem die Logs und Metriken verfügbar sein.

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!