CentOS7安装Canal(Kafka模式)

写在前面

  1. 确保Mysql配置文件开启Binlog,且设置为Row模式
#开启binlog
log-bin=mysql-bin
#指定binlog格式
binlog_format=row
#指定开启binlog的数据库,不配置则所有库都开启
binlog-do-db=gmall-2021
  1. Mysql安装方式见《CentOS7安装Mysql-5.7.30》
  2. Mysql中添加canal用户并授权
set global validate_password_length=4;
set global validate_password_policy=0;
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%' IDENTIFIED BY 'canal';
flush privileges;

下载Canal

自行下载所需要的版本,附上canal.deployer-1.1.2.tar.gz百度云地址

解压缩

#先创建目录,软件保存到哪里看个人喜好
mkdir /opt/module/canal
tar xzvf canal.deployer-1.1.2.tar.gz -C /opt/module/canal/

修改配置文件

vim /opt/module/canal/conf/canal.properties
# 修改如下配置
canal.serverMode = kafka
canal.mq.servers = hadoop102:9092,hadoop103:9092,hadoop104:9092

vim /opt/module/canal/conf/example/instance.properties
# 放开如下配置,此处类似mysql主从复制,需要配置和其它mysql实例不同的id
canal.instance.mysql.slaveId=20
# 修改如下配置
canal.instance.master.address=hadoop102:33066
# 下列配置与开头的账户一致
canal.instance.dbUsername=canal
canal.instance.dbPassword=canal
# 指定kafka主题
canal.mq.topic=canal_test

启停服务端

/opt/module/canal/bin/startup.sh
/opt/module/canal/bin/stop.sh

kafka数据格式

kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic canal_test

image

posted @ 2022-04-25 17:31  CodingBugs  阅读(280)  评论(0编辑  收藏  举报