Mit Talend Remote Engine konnten stets verschiedene Tasks parallel ausgeführt werden. Ab v2.12.0 wird ebenfalls die gleichzeitige Ausführung identischer Tasks unterstützt.
Das bedeutet: Ab der Remote Engine-Version v2.12.0 können Sie mehrere Instanzen derselben Task parallel auf einer einzelnen Remote Engine ausführen.
In diesem Abschnitt werden die Einstellungen erläutert, die zur Verwaltung dieser parallelen Ausführungsfunktion für eine einzelne Remote Engine verwendet werden, wobei die betroffene Engine zu einem Remote Engine-Cluster gehören kann oder nicht.
Vorbereitungen
- Vergewissern Sie sich, dass Sie die neueste Engine-Version installiert haben.
- Sie müssen übereinstimmende Programmiertechniken bei Ihrem Jobdesign und Ihrer Implementierung anwenden, damit Ihre Task Thread-sicher, d. h. für parallele Ausführungen geeignet ist, insbesondere dann, wenn Sie parallele Ausführungen einer Task auf einer einzelnen Remote Engine zulassen möchten. So müssen parallele Ausführungen beispielsweise über einen identischen Zugriff auf gemeinsam genutzte Ressourcen verfügen.
Prozedur
- Halten Sie die Engine an.
- Navigieren Sie zum Ordner <RemoteEngineInstallationDirectory>/etc.
-
Öffnen Sie die Datei org.talend.ipaas.rt.deployment.agent.cfg:
Option Bezeichnung Parallele Ausführungen identischer Tasks - Wenn Sie die Unterstützung hierfür aktivieren müssen, müssen Sie sicherstellen, dass die folgende Zeile vorhanden ist:
job.deployment.direct=true
Für Remote Engines ab Version v2.12.4 fungiert die direkte Implementierung als die einzige, von einer Engine standardmäßig verwendete Implementierung. Aus diesem Grund wurde der Parameter
job.deployment.direct
entfernt, da Sie ihn nicht mehr einzustellen brauchen.Gleichzeitig müssen Sie zulassen, dass parallele Ausführungen der betroffenen Task diese Engine-Konfiguration auch wirklich nutzen, d. h. einen der folgenden Vorgänge durchführen:Andernfalls wird trotz der Engine-Konfiguration keine parallele Ausführung angewendet.- Wählen Sie bei der Taskkonfiguration in Talend Cloud Management Console die Option Allow parallel execution of this task (Parallele Ausführung dieser Task zulassen) aus.
- Setzen Sie den Parameter
parallelExecutionAllowed
per API auf true, wenn Sie Requests zur Erstellung oder Aktualisierung von Tasks ausgeben.
Maximale Anzahl gleichzeitiger Ausführungen Standardmäßig sind nur 3 parallele Ausführungen zulässig, ungeachtet dessen, ob die auszuführenden Tasks identisch oder unterschiedlich sind.
- Sie können diese Begrenzung erweitern, um so viele parallele Ausführungen unterschiedlicher Tasks wie gewünscht zuzulassen, sofern Sie ausreichend Ressourcen dafür besitzen.
Wenn Sie den Grenzwert für gleichzeitige Tasks auf 0 setzen, ist die Anzahl der Tasks, die auf der Remote Engine parallel ausgeführt werden können, unbegrenzt, vorausgesetzt, Sie verfügen über ausreichend Ressourcen.max.deployed.flows=3
In einem Remote Engine-Cluster Wenn in einem Cluster eine Remote Engine hinzugefügt wurde, werden parallele Ausführungen identischer oder unterschiedlicher Tasks standardmäßig auf das gesamte Cluster verteilt. Wenn die auszuführenden Tasks jedoch identisch sind, können Sie die parallelen Ausführungen auf einer einzelnen Remote Engine unterstützen, indem Sie den folgenden Parameter auftrue
setzen:cluster.engine.same.task.parallel.run=true
- Wenn Sie die Unterstützung hierfür aktivieren müssen, müssen Sie sicherstellen, dass die folgende Zeile vorhanden ist:
- Starten Sie die Engine neu.
Ergebnisse
- Öffnen Sie die Datei org.talend.ipaas.rt.deployment.agent.cfg.
- Fügen Sie einen neuen Parameter in der Datei hinzu:
lock.same.task.jobs.parallel.deployment=true
- Speichern Sie die Datei und starten Sie die Engine neu.
Dieser Parameter sperrt einen Thread während der Implementierung, um zu verhindern, dass er durch die anderen parallel ausgeführten Threads desselben Jobs überschrieben wird.