canal-deployer1.1.8 + mysql + rabbitmq消息队列

参考文章

复制代码
  https://blog.csdn.net/2509_94002178/article/details/154644695(rabbitmq安装配置)
  https://blog.csdn.net/qq_62565054/article/details/155744984(canal)
  https://blog.csdn.net/qq_51356179/article/details/126263419(canal)

说明

1、Erlang与rabbitmq的版本兼容说明:https://www.rabbitmq.com/docs/which-erlang,由于erlang28与rabbitmq的4.2.x未能完全兼容,故选用项目版本:erlang27、rabbitmq4.2.2

2、canal目录路径:C:/canal.deployer-1.1.8

安装erlang27

1、下载erlang

路径:https://www.erlang.org/patches/otp-27.3.4.6

这里我选用的是64位的压缩包版本

2、下载后,解压缩包,目录如下(目录路径:C:/otp_win64_27.3.4.6)
3、将erlang的"bin"目录设置为环境变量
4、验证安装是否成功

命令行内输入:erl ;如下图,则为成功

部署rabbitmq4.2.2

下载、解压

路径:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v4.2.2

启动服务

进入"sbin "目录,打开命令行,在该目录下执行:"rabbitmq-server.bat "即可

安装rabbitmq插件

Rabbitmq供了一个Web管理界面,可以方便地管理消息队列。执行命令:"rabbitmq-plugins enable rabbitmq_management "

重新启动rabbitmq服务

管理Rabbitmq

访问"http://127.0.0.1:15672/",用户名密码默认为"guest"

添加"exchange"
添加queue


队列列表

点击刚创建好的队列"canal.queue",进入页面后,绑定相应的交换机exchange和路由

配置canal

文件"C:/canal.deployer-1.1.8/conf/canal.properties",修改参数如下:

复制代码
  canal.serverMode = rabbitMQ

  rabbitmq.host = 127.0.0.1 #主机地址 注:不要加端口号
  rabbitmq.virtual.host = / 
  rabbitmq.exchange = canal.exchange #rabbitmq交换机
  rabbitmq.username = guest #rabbitmq用户名
  rabbitmq.password = guest #rabbitmq密码
  rabbitmq.queue = canal.queue #rabbitmq队列名
  rabbitmq.routingKey = canal.routing.key #rabbitmq路由
  rabbitmq.deliveryMode = direct #消息投递方式

文件"C:/canal.deployer-1.1.8/conf/example/instance.properties"修改参数如下:

复制代码
canal.mq.topic=canal.routing.key #rabbitmq路由

注:rabbitmq的设置值需要与上述"管理消息队列"中的设置对应

启动canal

这里如果直接启动canal服务,会报错(查看日志文件:C:/canal.deployer-1.1.8/logs/canal/canal.log ):

这里是没有对应的消息队列驱动,需要添加驱动
将"canal.deployer-1.1.8/plugin"中的所有文件复制到"canal.deployer-1.1.8/lib"中即可

双击"canal.deployer-1.1.8/bin/startup.bat"启动服务,查看日志(C:/canal.deployer-1.1.8/logs/canal/canal.log )如下,则启动成功

监听数据库

请查看:https://blog.csdn.net/sinat_36395423/article/details/156009232

查看效果

可以通过下方的"GET Message(s)"查看消息内容

相关推荐
灯澜忆梦7 小时前
【MySQL10】进阶篇 | 索引_#2性能优化
数据库·sql·mysql·性能优化
霸道流氓气质8 小时前
RabbitMQ 延迟队列与死信队列:原理、实现与实战
分布式·rabbitmq·ruby
油丶酸萝卜别吃11 小时前
MySQL B+ 树查询全过程详解
数据库·mysql
Cry丶12 小时前
遗留系统数据迁移实战(九):区域编码迁移与补偿接口设计
mysql·数据治理·数据迁移·区域编码·补偿接口·组织区域
字节跳动数据库13 小时前
火山引擎 RDS MySQL 向量索引:把高性能向量检索带到 MySQL 上
人工智能·后端·mysql
小王C语言14 小时前
MySQL 库的操作:字符集和校验规则、数据库的增删查改、备份和还原
数据库·mysql
小王C语言14 小时前
MySQL 数据类型:数值类型、字符串类型、日期和时间类型、enum 和 set、find_in_set 查询
android·数据库·mysql
夜雪一千15 小时前
MySQL的事务是什么?原理、ACID、隔离级别与实战详解
数据库·mysql
Architect_Lee16 小时前
mac快速安装mysql
数据库·mysql·macos