canal java.io.IOException: end of stream when reading header 异常,版本v_1.1.4

r1wp621o  于 2022-10-24  发布在  Java
关注(0)|答案(8)|浏览(779)

com.alibaba.otter.canal.protocol.exception.CanalClientException: java.io.IOException: end of stream when reading header
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.getWithoutAck(SimpleCanalConnector.java:325)
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.getWithoutAck(SimpleCanalConnector.java:295)
at com.easted.service.impl.ClientServiceImpl.parseBinlog(ClientServiceImpl.java:65)
at com.easted.CanalClientApp.lambda$run$0(CanalClientApp.java:38)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: end of stream when reading header
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.read(SimpleCanalConnector.java:413)
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.readNextPacket(SimpleCanalConnector.java:401)
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.readNextPacket(SimpleCanalConnector.java:385)
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.receiveMessages(SimpleCanalConnector.java:330)
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.getWithoutAck(SimpleCanalConnector.java:323)
... 6 common frames omitted
2020-09-25 17:30:02.701 [pool-7-thread-1] INFO com.easted.service.impl.ClientServiceImpl - server=10.96.123.138, port=11111, username=canal, password=snkEas4532T
2020-09-25 17:30:02.702 [pool-7-thread-1] INFO com.easted.service.impl.ClientServiceImpl - reconnect canal server, retry 1 times
2020-09-25 17:30:12.703 [pool-7-thread-1] ERROR com.easted.service.impl.ClientServiceImpl - retry exception
com.alibaba.otter.canal.protocol.exception.CanalClientException: java.net.ConnectException: Connection refused
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.doConnect(SimpleCanalConnector.java:198)
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.connect(SimpleCanalConnector.java:115)
at com.easted.service.impl.ClientServiceImpl.connect(ClientServiceImpl.java:56)
at com.easted.service.impl.ClientServiceImpl.reconnect(ClientServiceImpl.java:108)
at com.easted.service.impl.ClientServiceImpl.parseBinlog(ClientServiceImpl.java:80)
at com.easted.CanalClientApp.lambda$run$0(CanalClientApp.java:38)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.ConnectException: Connection refused
at sun.nio.ch.Net.connect0(Native Method)
at sun.nio.ch.Net.connect(Net.java:454)
at sun.nio.ch.Net.connect(Net.java:446)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.doConnect(SimpleCanalConnector.java:150)

mcvgt66p

mcvgt66p1#

我也出现了这个问题,具体情况如下:
deployer版本:1.1.4
admin版本:1.1.4
系统:centos 7.4

描述:

如果canal不主动注册到admin,(不注册,或者手动在admin中添加) 客户端时可以正常连上 deployer 的,一旦deployer 主动注册到admin, 客户端建立连结的时候就会报这个错。。。

客户端代码抄的demo里面的代码。

deployer配置

# tcp bind ip

canal.ip = 0.0.0.0

# register ip to zookeeper

canal.register.ip = 10.11.3.24 #我的canal所在机器的ip
canal.port = 11111
canal.metrics.pull.port = 11112

# canal instance user/passwd

# canal.user = canal

# canal.passwd = E3619321C1A937C46A0D8BD1DAC39F93B27D4458

# canal admin config

canal.admin.manager = 10.11.2.108:8089
canal.admin.port = 11110
canal.admin.user = admin
canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441
canal.admin.register.auto = true
canal.admin.register.cluster =

不知道是配置错了还是别的问题....

eulz3vhy

eulz3vhy2#

我是canal使用admin方式启动java客户端链接报
Exception in thread "main" com.alibaba.otter.canal.protocol.exception.CanalClientException: java.io.IOException: end of stream when reading header
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.doConnect(SimpleCanalConnector.java:190)
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.connect(SimpleCanalConnector.java:114)
at cc.DBHelper.main(DBHelper.java:29)
Caused by: java.io.IOException: end of stream when reading header
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.read(SimpleCanalConnector.java:431)
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.readNextPacket(SimpleCanalConnector.java:419)
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.readNextPacket(SimpleCanalConnector.java:403)
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.doConnect(SimpleCanalConnector.java:176)
... 2 more

Process finished with exit code 1

e5njpo68

e5njpo683#

请问这个问题现在解决了吗?我也遇到了,一直拒绝连接

shstlldc

shstlldc4#

请问这个问题现在解决了吗?我也遇到了,一直拒绝连接

请问您解决了吗,我现在也遇到了

7kjnsjlb

7kjnsjlb5#

请问这个问题现在解决了吗?我也遇到了,一直拒绝连接

请问您解决了吗,我现在也遇到了

解决了么。。。。。

dced5bon

dced5bon6#

请问这个问题现在解决了吗?我也遇到了,一直拒绝连接

解决了么。。。。。

ds97pgxw

ds97pgxw7#

我是canal使用admin方式启动java客户端链接报
Exception in thread "main" com.alibaba.otter.canal.protocol.exception.CanalClientException: java.io.IOException: end of stream when reading header
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.doConnect(SimpleCanalConnector.java:190)
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.connect(SimpleCanalConnector.java:114)
at cc.DBHelper.main(DBHelper.java:29)
Caused by: java.io.IOException: end of stream when reading header
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.read(SimpleCanalConnector.java:431)
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.readNextPacket(SimpleCanalConnector.java:419)
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.readNextPacket(SimpleCanalConnector.java:403)
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.doConnect(SimpleCanalConnector.java:176)
... 2 more

Process finished with exit code 1

解决了么。。。。。

of1yzvn4

of1yzvn48#

我也出现了这个问题,具体情况如下:
deployer版本:1.1.4
admin版本:1.1.4
系统:centos 7.4

描述:

如果canal不主动注册到admin,(不注册,或者手动在admin中添加) 客户端时可以正常连上 deployer 的,一旦deployer 主动注册到admin, 客户端建立连结的时候就会报这个错。。。

客户端代码抄的demo里面的代码。

deployer配置

# tcp bind ip

canal.ip = 0.0.0.0

# register ip to zookeeper

canal.register.ip = 10.11.3.24 #我的canal所在机器的ip
canal.port = 11111
canal.metrics.pull.port = 11112

# canal instance user/passwd

# canal.user = canal

# canal.passwd = E3619321C1A937C46A0D8BD1DAC39F93B27D4458

# canal admin config

canal.admin.manager = 10.11.2.108:8089
canal.admin.port = 11110
canal.admin.user = admin
canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441
canal.admin.register.auto = true
canal.admin.register.cluster =

不知道是配置错了还是别的问题....

解决了么。。。。。

相关问题