配置了 一个双向同步的channel,数据库都是mysql的 ,刚开始从 a 到 b,从b到a 的pipeline都 可以正常同步,后来发现从b 到 a 的 pipeline 不能正常同步了(从a到b的pipeline还可以正常同步),有如下异常信息:
jio.IOException: Connection reset by peer at sun.nio.ch.FileDispatcherImpl.read0(Native Method) at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) at sun.nio.ch.IOUtil.read(IOUtil.java:197) at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379) at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch0(DirectLogFetcher.java:154) at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:78) at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:116) at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:209) at java.lang.Thread.run(Thread.java:745) ],
尝试过重启 channel,重启node应用,之后还是抛同样的异常信息,能帮忙解答一下吗?谢谢!
原提问者GitHub用户 ericlijm
Connection reset by peer. 是被mysql主动关闭链接的异常
原回答者GitHub用户agapple
您配置了一个双向同步的Otter Channel,使用MySQL作为数据库,刚开始从A到B、从B到A的Pipeline都能正常同步,但是后来发现从B到A的Pipeline不能正常同步了,出现了IO异常信息。
根据异常信息,看起来是由于网络连接中断或被重置导致的。这可能是由于网络不稳定或防火墙等网络设备的干扰引起的。
为了解决这个问题,您可以尝试以下解决方案:
检查网络连接:检查网络连接是否正常,并确保网络连接稳定。您可以尝试使用ping命令测试网络连接,以确定是否存在网络问题。
检查防火墙设置:检查防火墙设置,确保Otter能够正常通过防火墙进行通信。您可以尝试禁用防火墙或添加相应的防火墙规则,以确保Otter能够正常通信。
检查数据库连接:检查数据库连接是否正常,并确保数据库连接稳定。您可以尝试使用telnet命令测试数据库连接,以确定是否存在数据库连接问题。
调整Otter的配置:您可以尝试调整Otter的配置,以优化网络连接和防火墙设置。例如,您可以尝试调整网络超时时间、调整网络缓冲区大小等。
升级Otter版本:您可以尝试升级Otter到最新版本,以查看是否已经修复了这个问题。如果没有修复,您可以向Otter官方报告这个问题,以便他们进行修复。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。