canal读mysqlbinlog推送rabbitMQ

前提:已安装MySQL,rabbitMQ,下载好canal-deployer(canal.deployer-1.1.5.tar.gz

1.解压canal包

2.配置canal/conf下的canal.properties

# tcp, kafka, rocketMQ, rabbitMQ
canal.serverMode = rabbitMQ
# 将数据发送的目标指向rabbitMQ,也可以换成kafka、tcp、rocketMQ,看需求

##################################################
######### 		    RabbitMQ	     #############
##################################################
rabbitmq.host = xx.xx.xx.xx
# virtual.host不能为空,没有就填/
rabbitmq.virtual.host = /
# mq交换队列
rabbitmq.exchange = alg_result
rabbitmq.username = admin
rabbitmq.password = admin
# fanout这个是mq的数据交换模式
rabbitmq.deliveryMode = fanout

#文件中有对应的其他种类的消息队列配置,按需配置就可以

这个的作用的就是数据发送指向rabbitMQ,要用其他的就指向其他的如kafka

 3.配置canal/conf/example下的instance.properties,启动后instance.properties同级目录下会生成对应的meta.dat文件,记录canal读取情况,停止后可以修改,重启后会从修改的位置开始读,如果中间报错出问题需要重新跑,可以删除meta.dat,有些情况不删这个文件可能导致一些读不到binlog,定位不到position,抓不到更新等奇奇怪怪的问题。

# position info
# 数据库地址
canal.instance.master.address=xx.xx.xx.xx:3306
# binlog起始位置,可以不填会从最开始找,如果知道的话填上能节省时间
canal.instance.master.journal.name= mysql-bin.000200
canal.instance.master.position= # 可不填
canal.instance.master.timestamp= #可不填
canal.instance.master.gtid= #可不填

# username/password
# 数据库用户名密码
canal.instance.dbUsername=root
canal.instance.dbPassword=root

# mq config
# mq对应的route key用来绑定exchange和queue
canal.mq.topic=canal-routing-key

        

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值