SymmetricDS and SSH Connection



我使用SymmetricDS在服务器(Windows 10机器(和客户端(Ubuntu机器-谷歌计算引擎(数据库之间同步数据。这需要我在两个系统之间建立一个连接。

我在Windows机器上使用PuTTY创建了一个到客户端的SSH隧道,所有这些都运行良好。

当然,当连接不明确/意外关闭时,与客户端机器的SSH连接会终止,需要手动重新启动。因此,我正在尝试PuTTY的叉子,它被称为KiTTY。Kitty可以选择自动重新启动SSH连接。

我的目标是让SymmetricDS在KiTTY恢复ssh连接后恢复同步。

我面临的问题:

我在两台机器上都启动了SymmetricDS,并在服务器上启动了ssh连接。(一切都很完美(。然后我有目的地断开以太网电缆。然后我等待30秒左右,然后恢复互联网连接。然后KiTTY会自动重新启动ssh连接。但是,SymmetricDS不会恢复同步。它在客户端抛出以下错误:

DataLoaderService - Failed to process batch java.net.SocketTimeoutException: Read timed out
at java.base/java.net.SocketInputStream.socketRead0(Native Method)
at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)

etc

在断开互联网连接之前,我检查了正在使用的端口:

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1382/sshd
tcp        0      0 0.0.0.0:31415           0.0.0.0:*               LISTEN      2110/java
tcp        0      0 127.0.0.1:9090          0.0.0.0:*               LISTEN      1972/sshd: gce_uname@p
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      1364/mysqld

在互联网连接被断开并恢复后,我再次进行了同样的检查:

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1382/sshd
tcp        0      0 0.0.0.0:31415           0.0.0.0:*               LISTEN      2110/java
tcp        0      0 127.0.0.1:9090          0.0.0.0:*               LISTEN      1972/sshd: gce_uname@p
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      1364/mysqld

这表明没有变化。

然后我停止SymmetricDS,它释放了端口31415(它使用的(:

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1382/sshd
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      1364/mysqld

当我再次启动symmetricDS时,它再次开始在端口31415上侦听:

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1382/sshd
tcp        0      0 0.0.0.0:31415           0.0.0.0:*               LISTEN      2110/java
tcp        0      0 127.0.0.1:9090          0.0.0.0:*               LISTEN      1972/sshd: gce_uname@p
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      1364/mysqld

但再次抛出错误:

Could not communicate with omni:000:000 at http://localhost:9090/sync/omni-000 because: java.net.ConnectException: Connection refused (Connection refused)

我已经测试了好几次了,但还是不断地抛出同样的错误。

有什么想法吗?

SymmetricDS与使用网络的任何其他Java应用程序一样。尝试通过访问测试连接http://localhost:9090/sync/omni-000/ping。如果使用其他应用程序再次出现此问题,则很可能是您的网络出现问题。

最新更新