canal 无法得到数据库消息 ,接收不到消息

canal 无法得到数据库消息 ,接收不到消息

数据库版本 5.5.62
canal 版本1.1.3

canal 部署在linux 上 tomcat 部署了一个java web 项目,程序会自动连接canal 。

在windwos 上一切正常,调试都行,部署在 linux 上 出现 问题了 ,时而可以监控消息,时而监控不到消息。问题很奇怪。

数据库库canal 用户也已经开启了 网上所说的模式。也能查询到日志。

问题在于 canal.properties 配置文件 有一行的注释没有打开

请看下方图片
在这里插入图片描述
把这个注释打开,然后重启启动项目,问题解决,canal 可以正常拿到消息了。不会出现拿不到消息的情况。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
好的,我可以为您提供一些基本的步骤,但需要注意的是,您需要确保您的服务器已经正确安装了 Docker 和 RocketMQ。 1. 拉取 canalcanal-server 镜像 ``` docker pull canal/canal-server:v1.1.4 docker pull canal/canal-admin:v1.1.4 ``` 2. 创建 canal 配置文件 在本地创建一个 canal 目录,并在其中创建一个配置文件 `instance.properties`,内容如下: ``` canal.instance.master.address=127.0.0.1:3306 canal.instance.dbUsername=xxxx canal.instance.dbPassword=xxxx canal.instance.connectionCharset=UTF-8 canal.instance.tsdb.enable=true canal.instance.gtidon=false canal.instance.filter.regex=.*\\..* ``` 其中,`canal.instance.master.address` 需要指定 MySQL 数据库的地址和端口,`canal.instance.dbUsername` 和 `canal.instance.dbPassword` 则是 MySQL 数据库的用户名和密码。 3. 启动 canal-server 使用以下命令启动 canal-server: ``` docker run -p 11111:11111 \ -v /path/to/canal:/canal \ --name canal-server \ -d canal/canal-server:v1.1.4 \ sh /canal/bin/startup.sh ``` 其中,`/path/to/canal` 是您本地的 canal 目录路径。 4. 创建 RocketMQ 镜像 如果您的服务器中没有 RocketMQ 镜像,可以使用以下命令创建: ``` docker pull rocketmqinc/rocketmq:4.9.1 ``` 5. 创建 RocketMQ 容器 使用以下命令创建 RocketMQ 容器: ``` docker run -d \ --name rmqnamesrv \ -p 9876:9876 \ -v /path/to/store/namesrv/logs:/root/logs \ -v /path/to/store/namesrv/store:/root/store \ rocketmqinc/rocketmq:4.9.1 \ sh mqnamesrv ``` 其中,`/path/to/store/namesrv/logs` 和 `/path/to/store/namesrv/store` 分别是您本地用于存储 RocketMQ 日志和数据的路径。 6. 创建 RocketMQ Producer 镜像 如果您的服务器中没有 RocketMQ Producer 镜像,可以使用以下命令创建: ``` docker pull rocketmqinc/rocketmq-console-ng:2.0.0 ``` 7. 启动 RocketMQ Producer 容器 使用以下命令启动 RocketMQ Producer 容器: ``` docker run -d \ -e "JAVA_OPTS=-Drocketmq.namesrv.addr=127.0.0.1:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" \ --name rmqproducer \ -p 8080:8080 \ rocketmqinc/rocketmq-console-ng:2.0.0 ``` 其中,`-Drocketmq.namesrv.addr` 指定了 RocketMQ 的地址和端口。 8. 在 Canal 中配置 RocketMQ 同步 进入到 `canal-admin` 的管理界面,创建一个实例,并配置同步规则,将数据同步到 RocketMQ 中。 以上就是部署 Canal 并同步消息到 RocketMQ 的基本步骤,具体实现还需要根据您的实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值