目标
搭建canal集群3个canal-server服务,2个canal-client服务,实现高可用。
运行环境
准备3台虚拟机
192.168.56.101:安装canal-admin,canal-server01,zk
192.168.56.102:安装canal-server02
192.168.56.103:安装canal-server02
安装zk略
安装canal-admin
上面的 Canal Admin 配置好了之后直接根据“/bin/startup.sh”启动 Canal Admin 即可,在浏览器上面输入 hostip:80 即可进入到管理页面,如果使用的默认的配置信息,用户名入”admin”,密码输入”123456”即可访问首页。
canal.register.ip =192.168.56.101
canal.admin.manager = 192.168.56.101:80
canal.admin.port = 11110
canal.admin.user = admin
canal.admin.passwd = 4ACFE3202A5FF5CF4678FC58AAB1D615029441
canal.admin.register.auto = true
canal.admin.register.cluster = canal-cluster
随后分别启动3个canal-server服务,特别注意:启动命令是
./start.sh local
在canal-admin界面 server管理 新建3个canal-server信息
如下所示,监控集群模式下3个server已启动正常。
canal.instance.gtidon=false
canal.instance.master.address=192.168.56.101:3306
canal.instance.master.journal.name=
canal.instance.master.position=
canal.instance.master.timestamp=
canal.instance.master.gtid=
canal.instance.rds.accesskey=
canal.instance.rds.secretkey=
canal.instance.rds.instanceId=
canal.instance.tsdb.enable=true
canal.instance.dbUsername=root
canal.instance.dbPassword=Admin123!
canal.instance.connectionCharset = UTF-8
canal.instance.enableDruid=false
canal.instance.filter.regex=.*\\..*
canal.instance.filter.black.regex=
canal.mq.topic=example
canal.mq.partition=0
之后启动,看状态是否运行。
配置canal-client
本人在IDEA里打开上一篇博客:阿里数据同步中间件canal(二)单机版搭建的java客户端代码canal-client见
https://github.com/mikewuhao/springBoot-canal-client
验证
1.进服务器,kill一个canal-server进程,去admin界面,查看集群内的其他server是否正常。
2.canal-client当开2个服务时,只有1个处于running状态,另一个处于standby,当把running状态的client服务关掉,另一个是否正常运行。