目录
(2)conf/example/instance.properties
一、Canal
阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务。
canal是用java开发的基于数据库增量日志解析,提供增量数据订阅&消费的中间件。目前,canal主要支持了MySQL的binlog解析,解析完成后才利用canal client 用来处理获得的相关数据。(数据库同步需要阿里的otter中间件,基于canal)
mysql的主从复制主要靠二进制文件实现,而canal把自己伪装成slave,假装从master复制数据
在本架构中,canal通过binlog同步拿到变更数据,再发送到Kafka
Ⅰ、下载安装
下载:Releases · alibaba/canal (github.com)
进行解压、安装
mkdir -p /opt/canal
tar zxvf canal.deployer-1.1.2.tar.gz -C /opt/canal/
Ⅱ、配置主要配置文件
(1)conf/canal.properties
cd /opt/canal/conf/
vim canal.properties
#################################################
######### common argument #############
#################################################
#----------------------------
# tcp, kafka, RocketMQ
canal.serverMode = kafka
#修改为kafka,默认为tcp
#----------------------------
##################################################
######### MQ #############
##################################################
#----------------------------
canal.mq.servers = ljp26:9092,ljp111:9092,ljp120:9092
#定义MQservers
#----------------------------