1、服务器分配
IP | 类型 | 端口号 | 其它 | 版本号 |
10.200.48.67 | Zookeeper | 2181 | ||
10.200.48.68 | ||||
10.200.48.69 | ||||
10.200.48.70 | ||||
10.200.48.70 | mysql | 3306 | Db:zlz_test | |
10.200.48.70 | canal | v1.0.24 | ||
10.200.48.71 |
2、下载canal
https://github.com/alibaba/canal/releases ,使用版本v1.0.24
下载canal.deployer-1.0.24.tar.gz
Linux上执行如下命令:
wget https://github.com/alibaba/canal/releases/download/canal-1.0.24/canal.deployer-1.0.24.tar.gz
3、mysql初始化
a. canal的原理是基于mysql binlog技术,所以这里一定需要开启mysql的binlog写入功能,建议配置binlog模式为row.
[mysqld]
log-bin=mysql-bin #添加这一行就ok
binlog-format=ROW #选择row模式
server_id=1 #配置mysql replaction需要定义,不能和canal的slaveId重复
重启mysql
systemctl restart mariadb
b. Canal的原理是模拟自已为mysql slave,所以这里一定需要做为mysql slave的相关权限。
CREATE USER canal IDENTIFIED BY ‘canal’;
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON . TO ‘canal’@’%’;
– GRANT ALL PRIVILEGES ON . TO ‘canal’@’%’ ;
FLUSH PRIVILEGES;
4、70服务器安装canal(单机版)
步骤1:解压缩
mkdir /tmp/canal
tar zxvf canal.deployer-1.0.24.tar.gz -C /tmp/canal
步骤2:创建canal instance
mkdir conf/canal_bj/ #连接业务库mysql
cp …/example/instance.properties ./ #复制example目录下的instance.properties文件到本地
步骤3:配置修改
应用参数:
vi conf/canal_bj/instance.properties
#################################################
## mysql serverId
canal.instance.mysql.slaveId = 1235
# position info
canal.instance.master.address = 10.200.48.70:3306
canal.instance.master.journal.name =
canal.instance.master.position =
canal.instance.master.timestamp =
#canal.instance.standby.address =
#canal.instance.standby.journal.name =
#canal.instance.standby.position =
#canal.instance.standby.timestamp =
# username/password
canal.instance.dbUsername = canal
canal.instance.dbPassword = canal
canal.instance.defaultDatabaseName = zlz_test
canal.instance.connectionCharset = UTF-8
# table regex
canal.instance.filter.regex = .\…
# table black regex
canal.instance.filter.black.regex =
#################################################
步骤4:准备启动
sh bin/startup.sh
步骤5:查看日志
Canal运行日志
tail -f logs/canal/canal.log
具体instance的日志:
tail -f logs/canal_bj/canal_bj.log
步骤6:关闭
sh bin/stop.sh
5、Canal HA配置
步骤1:按【4】配置71服务器
vi conf/canal_bj/instance.properties
以下参数要进行调整
## mysql serverId
canal.instance.mysql.slaveId = 1236
步骤2:70,71两台服务器都需要修改canal.properties,加上zookeeper配置
下图中标红的两个位置都需要调整
注意: 两台机器上的instance目录的名字需要保证完全一致,HA模式是依赖于instance name进行管理,同时必须都选择default-instance.xml配置。
步骤3:启动两台机器的canal
-----------
ssh 10.200.48.70
sh bin/startup.sh
-----------
ssh 10.200.48.71
sh bin/startup.sh
启动后,你可以查看logs/canal_bj/canal_bj.log,只会看到一台机器上出现了启动或成功的日志。