Talend Open Studio - tssh 失去与主要工作的连接

Talend Open Studio - tssh losing connection to main job

Talend Open Studio for Data Integration,V7.2.1。

我正在研究一个使用 tssh 组件的 ETL 过程,以在远程服务器上执行 shell 脚本。远程服务器上的执行完成后,它会继续主机服务器上的进程。

如果远程服务器上的进程需要几分钟,talend 作业似乎工作正常,但如果远程服务器上的进程需要更长的时间(在本例中超过 1 小时),它就会挂起。即使在远程服务器上的进程完成后,主机服务器上的进程也不会继续。它不会抛出任何错误,但 java 过程似乎是 运行 无限期地没有任何实际进展。

我尝试了以下但没有成功 -

  1. 我最初使用 onComponentOk 触发器将 tssh 组件连接到 tsystem 组件,没有任何超时设置。
  2. 我在 tssh 组件中添加了一个退出命令,在调用执行 shell 脚本后,尝试关闭连接。
  3. 我在 tssh 组件中添加了超时设置,并在检查 exit_code 时使用 Runif 触发器将 tssh 连接到 tsytem。 ((整数)globalMap.get("tSSH_1_EXIT_CODE")) == 0

如果 tssh 花费的时间太长,进程似乎被冻结了。任何帮助将不胜感激。

我找到了类似的帖子,但找不到解决方案 - tSSH-Talend blockes job from continuing Run

谢谢

可能是ssh服务器端keepalive的问题

连接是否通过防火墙或 vpn?

您可以尝试使用简单的 ssh 客户端连接,如果一个小时后您在客户端未输入任何内容而断开连接,那是因为网络设备关闭了连接。

更多信息在这里:) https://unix.stackexchange.com/questions/200239/how-can-i-keep-my-ssh-sessions-from-freezing