[alibaba/canal]jdk1.8版本 canal-v1.1.6 服务器启动后,管理端界面Server管理菜单中 canal_server 状态显示断开

2025-11-13 599 views
4
environment
  • centos7
  • canal -v1.1.6
  • mysql -v8.0
以下是我canal-deployer 中对应本地配置文件
# register ip
canal.register.ip = 192.168.11.39

# canal admin config
canal.admin.manager = 127.0.0.1:8089
canal.admin.port = 11110
canal.admin.user = admin
canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441
# admin auto register
canal.admin.register.auto = true
canal.admin.register.cluster =
canal.admin.register.name =

jdk1.8 canal-v1.1.6 服务器启动后,管理界面Server管理菜单种 canal_server 状态显示断开 日志有报错,Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: java.nio.ByteBuffer.clear()Ljava/nio/ByteBuffer;

我尝试将jdk升级到jdk17版本后无法启动canal服务,当我再次将jdk改回原来的jdk1.8版后尝试再次启动服务发现此时jdk1.8 版本再也无法启动canal服务

请描述搭建环境时使用jdk版本与canal 版本对应关系

管理端界面如下:

Server管理列表页面,滚动条向右移动,点击操作查看日志报错: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: java.nio.ByteBuffer.clear()Ljava/nio/ByteBuffer;

期望管理界面状态显示启动,不报错

实际页面Server管理、instance管理服务状态都显示断开,两处页面日志查看报错,不确定该使用jdk哪一个版本搭建canal环境

回答

8

大佬你解决了没?我碰到相同问题了,我怀疑是JDK的问题,想着要不要canal降版本

9

我也一样,你们是怎么解决的

3

遇到同样问题,测试更换到JDK15,执行启动脚本可刷新admin.pid文件,但依旧无法启动且也不打印日志。

当我再次将JDK15改回原来的jdk1.8版后尝试再次启动服务发现此时jdk1.8 版本也无法启动canal-admin服务...

诡异啊~

==== fix 回滚到jdk1.8 无法启动问题 ==== 1、关闭linux selinux; 2、回滚到jdk1.8可以正常启动,当然,管理端界面Server管理菜单中 canal_server 状态仍然显示断开;

另,canal admin 采用JDK15,关闭linux selinux;canal admin 仍然无法启动(等待大佬解答) == >> 找到答案了:https://github.com/alibaba/canal/issues/4358 难怪有1.1.6hotfix版本,当时还犹豫了一下是否采用1.1.6hotfix版本;

6

同样遇到这个问题。从1.1.5升级到1.1.6 server是1.1.6 admin是1.1.5能正常显示启动, admin换成1.1.6后server显示断开。我的jdk1.8

9

我改成jdk17,问题解决了

0

我的改成jdk11解决了

5

各种坑,不升级了,Fuck!

5

看评论,先改成17,压根就启动不了,然后改成11,成功启动。1.1.6canal-admin jdk11下载地址https://www.oracle.com/java/technologies/downloads/#java11 百度网盘分享:链接:https://pan.baidu.com/s/1DYdjy-KxYNbba09HTQcN6Q 提取码:rrpq

7

看上去是jdk8的兼容性问题,已有问题再跟踪,重复的问题我先关闭 #4358