【发布时间】:2020-10-08 01:33:02
【问题描述】:
我正在使用 SymmetricDS 在服务器(Windows 10 机器)和客户端(Ubuntu 机器 - Google Compute Engine)数据库之间同步数据。这需要我在两个系统之间建立连接。
我在 Windows 机器上使用 PuTTY 创建了一个到客户端的 SSH 隧道,所有这些都工作正常。
当然,当连接不干净/意外关闭时,与客户端计算机的 SSH 连接将终止,需要手动重新启动。因此,我正在尝试一个名为 KiTTY 的 PuTTY 分支。 Kitty 可以选择自动重启 SSH 连接。
我的目标是在 KiTTY 恢复 ssh 连接后让 SymmetricDS 恢复同步。
我面临的问题:
我在两台机器上启动 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)
...等
在断开互联网之前,我检查了正在使用的端口:
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)
我已经测试了好几次,但总是抛出同样的错误。
有什么想法吗?
【问题讨论】:
-
也许你可以在Super User 上问这个问题。但请务必阅读他们的tour 并在发布之前提供有关What topics can I ask about here? 的帮助。
标签: ssh tcp putty symmetricds