1、mysql的binlog开启
找到my.cnf,开启binlog:
log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
然后重启mysql
2、canal和zookper安装
canal下载(Releases · alibaba/canal · GitHub)、zookper下载(https://downloads.apache.org/zookeeper)
2.1 canal安装
解压canal deployer-1.1.6.tar.gz,先修改canal.properties文件
# canal的ip 默认是网络的第一个
canal.ip = 192.168.0.2
# 配置 zk
canal.zkServers = 192.168.0.3:2181,192.168.0.4:2181
# 一定要修改为此配置, 基于 Zookeeper 的集群管理依赖于此配置
canal.instance.global.spring.xml = classpath:spring/default-instance.xml
2.2 再修改instance.properties文件
# 三台 canal 每一个都不一样, 0~65535, 也要和 mysql 的不一样
canal.instance.mysql.slaveId=100
# mysql 位置
canal.instance.master.address=192.168.0.5:3306
# mysql 用户
canal.instance.dbUsername=root
canal.instance.dbPassword=123456
# 读取那些表 所有表:.*\\..* 读取test库所有表:test\\..*
canal.instance.filter.regex=test\\..*
2.3 启动canal,再启动zookper,成功后使用./zkCli.sh进行查看,CANAL 保存在 ZOOKEEPER 中的数据节点
节点路径 | 描述 |
/otter/canal | 根目录 |
/otter/canal/cluster | Canal 集群节点信息 |
/otter/canal/destinations | Canal 所有Instance 的信息 |
2.4 springboot 引用 GitHub - canhungwai/canal-client: canal客户端(增量数据转换成对象进行消费)
2.5 yml 引用
canal:
destination: example
mode: zk
server: 192.168.0.3:2181,192.168.0.4:2181