Canal安装部署
目录
- 配置Mysql
- 安装 canal 和启动
- Canal HA服务器配置
- 客户端HA模式配置
配置Mysql
步骤 1: 赋权限(可以省略, 后面都是使用的root用户)
GRANT ALL PRIVILEGES ON . TO canal@’%’ IDENTIFIED BY ‘canal’;
步骤 2: 开启 binlog
打开文件/etc/my.cnf, 如果没有就创建一个
添加如下配置:[mysqld]
server-id= 1
log-bin= mysql-bin
binlog_format= row步骤 3: 重启 mysql 使 binlog 生效
service mysql restart
进入 mysql
show variables like 'log_%';
安装 canal 和启动
步骤 1: 下载 Canal
wget https://github.com/alibaba/canal/releases/download/canal-1.1.2/canal.deployer-1.1.2.tar.gz
或者去github下载
https://github.com/alibaba/canal/releases
步骤 2: 解压
mkdir /export/servers/canal
tar -zxvf canal.deployer-1.1.2.tar.gz -C /export/servers/canal
1.conf/canal.properties canal 的通用配置, 主要关注下canal.port, 默认是11111
conf/example/instance.properties instance.properties是针对要追踪的 mysql 的实例配置
步骤 3: 启动 canal
bin/startup.sh
- 步骤 4: 查看日志
步骤 5: 关闭 Canal
bin/stop.sh
Canal HA服务器配置
按照部署和配置,在单台机器上各自完成配置,演示时instance name为example
修改canal.properties,加上zookeeper配置
canal.zkServers=hadoop102:2181,hadoop103,hadoop104
canal.instance.global.spring.xml = classpath:spring/default-instance.xml
创建example目录,并修改instance.properties
canal.instance.mysql.slaveId = 1234 ##另外一台机器改成1235,保证slaveId不重复即可
canal.instance.master.address = hadoop102:3306
注意: 两台机器上的instance目录的名字需要保证完全一致,HA模式是依赖于instance name进行管理,同时必须都选择default-instance.xml配置
启动两台机器的canal
-------
ssh hadoop102
sh bin/startup.sh
--------
ssh hadoop103
sh bin/startup.sh
可以看运行的机器
[zk: localhost:2181(CONNECTED) 6] ls /otter/canal/cluster
[192.168.121.140:11111, 192.168.121.141:11111, 192.168.121.142:11111]
也可以看谁是主节点
[zk: localhost:2181(CONNECTED) 0] get /otter/canal/destinations/example/running
{ "active":true,"address":"192.168.121.141:11111","cid":1}
客户端HA模式配置
直接取若干个Canal客户端,如果同时启动,只有一个客户端能从Canal服务器端获取到binlog消息,其他客户端不能拉取到binlog消息。
从运行配置中,复制一个同样的配置。然后启动运行。
还没有评论,来说两句吧...