canal mysql多实例_数据同步canal服务端配置mysql多主

canal服务端HA模式,本人并未使用过,为保证文章的完整性,从以下地址摘抄该部分内容,待以后验证及使用

https://github.com/alibaba/canal/wiki/AdminGuide

1、mysql机器准备

准备两台mysql机器,配置为M-M模式,比如ip为:10.20.144.25:3306,10.20.144.29:3306

1 [mysqld]2 xxxxx ##其他正常master/slave配置3 log_slave_updates=true ##这个配置一定要打开

2、canal instance配置

1 # position info2 canal.instance.master.address = 10.20.144.25:3306

3 canal.instance.master.journal.name =

4 canal.instance.master.position =

5 canal.instance.master.timestamp =

6 canal.instance.standby.address = 10.20.144.29:3306

7 canal.instance.standby.journal.name =

8 canal.instance.standby.position =

9 canal.instance.standby.timestamp =

detecing config

1 canal.instance.detecting.enable = true## 需要开启心跳检查2 canal.instance.detecting.sql = insert into retl.xdual values(1,now()) on duplicate key update x=now() ##心跳检查sql,也可以选择类似select 1的query语句3 canal.instance.detecting.interval.time = 3##心跳检查频率4 canal.instance.detecting.retry.threshold = 3## 心跳检查失败次数阀值,超过该阀值后会触发mysql链接切换,比如切换到standby机器上继续消费binlog5 canal.instance.detecting.heartbeatHaEnable = true ## 心跳检查超过失败次数阀值后,是否开启master/standby的切换.

注意:

a. 填写master/standby的地址和各自的起始binlog位置,目前配置只支持一个standby配置.

b. 发生master/standby的切换的条件:(heartbeatHaEnable = true) && (失败次数>=retry.threshold).

c. 多引入一个heartbeatHaEnable的考虑:开启心跳sql有时候是为client检测canal server是否正常工作,如果定时收到了心跳语句,那说明整个canal server工作正常

3、启动 & 测试

比如关闭一台机器的mysql , /etc/init.d/mysql stop 。在经历大概 interval.time * retry.threshold时间后,就会切换到standby机器上

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值