tSSH-Talend阻止作业继续运行

时间:2020-04-02 09:22:38

标签: docker ssh parallel-processing talend

我使用tSSH组件调用远程服务器上的docker-image。 该docker映像将创建一个Json文件,该文件将指示该过程的结束。 但是,在我的工作中,我还有一个并行过程来检查要使用SCP复制到本地Talend计算机的文件的可用性。 很简单,我在与docker-image相同的机器上编写了一个脚本,该脚本将检查文件是否可用,并且在用Talend调用该文件时会写类似的内容:

就像我提到的那样,请注意,此测试与主脚本并行运行。

enter image description here

我的joblet(这是一个joblet,因为我有很多脚本可以这样运行):

enter image description here

enter image description here

如您所见,

有一个tParallelize可以同时运行两个进程。

正如我所说,我每次都有许多脚本以相同的逻辑以这种方式运行,并且除非主脚本执行不需要花费太长时间,否则它可以正常工作。

tSSh冻结并阻止了整个Java作业。并行化的底部响应,并将json文件复制到本地计算机,但不复制到上部。

enter image description here

未配置超时,并且通过触发OnComponentOK链接将“错误”和“标准输出”都重定向到FullLogFile。

如果有帮助,那么在最坏的情况下,执行主脚本(会导致问题)可以持续100个小时,而在最佳情况下则可以持续几个小时(7、8或9)。其他脚本只需几分钟即可执行,这就是为什么我从来没有遇到问题的原因。

假设冻结源于“错误”和“ stdout”的重定向,则服务器日志可以达到3Mo(但是这次服务器上的日志大小仅为0,7Mo并会阻塞)?谁知道?

在互联网上搜索时,我发现自己并不是唯一遇到此麻烦的人:

https://community.talend.com/t5/Design-and-Development/tssh-timeout-process-blocked/td-p/60402

https://community.talend.com/t5/Design-and-Development/tSSH-component-is-not-ending-and-keeps-on-running-when-executing/td-p/196518

任何帮助或相同的经验分享将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

来自另一个线程的相同答案。

问题可能与ssh服务器端的keepalive有关。

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

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

更多信息在这里:)

https://unix.stackexchange.com/questions/200239/how-can-i-keep-my-ssh-sessions-from-freezing