canal 同步mysql 8.0.20 版本订阅binlog 出现Socket timeout expired

hyrbngr7  于 5个月前  发布在  Mysql
关注(0)|答案(4)|浏览(100)

2022-06-16 09:16:24.724 [destination = sync_table-instance , address = /192.168.90.37:23306 , EventParser] WARN c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - ---> begin to find start position, it will be long time for reset or first position
2022-06-16 09:16:24.725 [destination = sync_table-instance , address = /192.168.90.37:23306 , EventParser] WARN c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - prepare to find start position mysql-bin.000070:810291853:1655281602
2022-06-16 09:16:25.429 [destination = sync_table-instance , address = /192.168.90.37:23306 , EventParser] WARN c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - ---> find start position successfully, EntryPosition[included=false,journalName=mysql-bin.000070,position=810291853,serverId=,gtid=,timestamp=1655281602] cost : 700ms , the next step is binlog dump
2022-06-16 09:16:50.499 [destination = sync_table-instance , address = /192.168.90.37:23306 , EventParser] ERROR c.a.o.canal.parse.inbound.mysql.dbsync.DirectLogFetcher - Socket timeout expired, closing connection
java.net.SocketTimeoutException: Timeout occurred, failed to read total 4 bytes in 25000 milliseconds, actual read only 0 bytes
at com.alibaba.otter.canal.parse.driver.mysql.socket.BioSocketChannel.read(BioSocketChannel.java:124) ~[canal.parse.driver-1.1.7.jar:na]
at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch0(DirectLogFetcher.java:170) ~[canal.parse-1.1.7.jar:na]
at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:77) ~[canal.parse-1.1.7.jar:na]
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:237) [canal.parse-1.1.7.jar:na]
at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$1.run(AbstractEventParser.java:262) [canal.parse-1.1.7.jar:na]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_261]
2022-06-16 09:16:50.499 [destination = sync_table-instance , address = /192.168.90.37:23306 , EventParser] ERROR c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - dump address /192.168.90.37:23306 has an error, retrying. caused by
java.net.SocketTimeoutException: Timeout occurred, failed to read total 4 bytes in 25000 milliseconds, actual read only 0 bytes
at com.alibaba.otter.canal.parse.driver.mysql.socket.BioSocketChannel.read(BioSocketChannel.java:124) ~[canal.parse.driver-1.1.7.jar:na]
at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch0(DirectLogFetcher.java:170) ~[canal.parse-1.1.7.jar:na]
at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:77) ~[canal.parse-1.1.7.jar:na]
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:237) ~[canal.parse-1.1.7.jar:na]
at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$1.run(AbstractEventParser.java:262) ~[canal.parse-1.1.7.jar:na]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_261]
2022-06-16 09:16:50.500 [destination = sync_table-instance , address = /192.168.90.37:23306 , EventParser] ERROR com.alibaba.otter.canal.common.alarm.LogAlarmHandler - destination:sync_table-instance[java.net.SocketTimeoutException: Timeout occurred, failed to read total 4 bytes in 25000 milliseconds, actual read only 0 bytes
at com.alibaba.otter.canal.parse.driver.mysql.socket.BioSocketChannel.read(BioSocketChannel.java:124)
at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch0(DirectLogFetcher.java:170)
at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:77)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:237)
at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$1.run(AbstractEventParser.java:262)
at java.lang.Thread.run(Thread.java:748)
]

environment

  • canal version 1.1.6
  • mysql version 8.0.20
xkftehaa

xkftehaa1#

detecing config

canal.instance.detecting.enable = true
canal.instance.detecting.sql = insert into retl.xdual values(1,now()) on duplicate key update x=now()
canal.instance.detecting.sql = select 1
canal.instance.detecting.interval.time = 3
canal.instance.detecting.retry.threshold = 3
canal.instance.detecting.heartbeatHaEnable = true

mysql 心跳检测已经开启 Socket timeout expired 问题大量出现

ddarikpa

ddarikpa2#

@yanweibing 大佬 请问1.4.2的这个版本 jdk用的是哪个版本 还有maven 我1.8-333 1.8-331 1.8-291都试过了 一直报错 Could not initialize class com.sun.org.apache.xml.internal.serializer.Encodings idea的版本是最新的版本。。大佬 求指教

enyaitl3

enyaitl33#

最新版也是这个问题

izkcnapc

izkcnapc4#

最新版也是这个问题

你这个应该是idea 问题

相关问题