Paralleles Ausführen von Tasks auf einer Remote Engine
Mit Talend Remote Engine können seit jeher 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
Ergebnisse
Troubleshooting: Wenn mehrere Threads einer Task implementiert werden, kann es zu einem versehentlichen Überschreiben eines Threads durch einen anderen Thread kommen. Das kann das Scheitern der gesamten Implementierung zur Folge haben.
Gehen Sie vor wie folgt, um dieses Problem zu beheben:
- Ö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.