canal的安装搭建

  • canal介绍

主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。
这里我们可以简单地把canal理解为一个用来同步增量数据的一个工具。

  • canal能做什么

数据库镜像
数据库实时备份
索引构建和实时维护
业务cache(缓存)刷新
带业务逻辑的增量数据处理

首先开启mysql binlog

默认没有开启
开启binlog之后mysql的性能会受到影响

-1、修改mysql配置文件/etc/my.cnf

# 如果配置文件不存在,复制一个过来
# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

vim /etc/my.cnf 

# 在配置文件中增加二配置
# 需要将配置放在[mysqld]后面
# 打开binlog
log-bin=mysql-bin
# 选择ROW(行)模式
binlog-format=ROW
# 配置MySQL replaction需要定义,不要和canal的slaveId重复
server_id=1
  • 2、重启mysql
service mysqld restart

# 查看mysql binlog文件
cd /var/lib/mysql
mysql-bin.000001

# 改了配置文件之后,重启MySQL,使用命令查看是否打开binlog模式:
mysql -uroot -p123456
show variables like 'log_bin';
  • 搭建canal
  • 1、上传解压

unzip canal.deployer-1.1.4.zip -d ../

  • 2、修改配置文件conf/example/instance.properties

vim conf/example/instance.properties

# mysql 地址
canal.instance.master.address=master:3306
# mysql用户名
canal.instance.dbUsername=root
# mysql密码
canal.instance.dbPassword=123456
# 数据写入kafka 的topic名称, 所有的数据写入同一个topic
canal.mq.topic=example
# 为每一个表自动创建一个topic
# 监控bigdata数据库,不同的表发送到表名的topic上, topic命令方式bigdata.student
canal.mq.dynamicTopic=bigdata\\..*
  • 3、修改配置文件conf/canal.properties

vim conf/canal.properties

# zk地址 
canal.zkServers = master:2181,node1:2181,node2:2181
# 数据保存到kafka
canal.serverMode = kafka
# kafka集群地址
canal.mq.servers = master:9092,node1:9092,node2:9092
  • 4、启动canal
cd /usr/local/soft/canal/bin/
# 启动canal
./startup.sh

# 查看启动日志
cd /usr/local/soft/canal/logs
cat canal/*
cat example/*
  • 测试

查看Kafka topic 信息

在Kafka控制台消费topic

posted @ 2024-12-02 21:14  w我自横刀向天笑  阅读(6)  评论(0编辑  收藏  举报