自助搭建mysql-canal-kafka通道

2 篇文章 0 订阅
1 篇文章 0 订阅

该canal集成了java,无须繁琐的安装,直接配置几个参数即可实现mysql-canal-kafka

Mysql 环境配置


一、binlog 格式设置

调整 mysql 参数至如下即可。

mysql> show variables like 'binlog_format';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | ROW   |
+---------------+-------+
1 row in set (0.00 sec)

参考配置(my.cnf):

[mysqld]
character_set_server = utf8
init_connect         =  'SET NAMES utf8'
server-id            =  1
log_bin              = mysql-bin
binlog_format        = row
expire_logs_days     =  30
sql_mode             = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

修改好上述配置后,最好再运行一次 flush logs 命令

二、super privilege user

线下测试默认数据库是可以用 root 的,有 root 用 root 即可。

Kafka 环境配置

这个安装比较简单,网上都有,掠过,canal需要配置kafka的broker地址和topic

Zookeeper 环境配置

线上使用的 zookeeper 为 3.4.6 版本,部署到某个地方,微调 zoo.cfg,启动即可。

Canal 环境配置

一、部署

下载 canal-lite.xxx (附件过大无法上传,有需求请留言)到目标位置,运行以下命令:

cat canal-lite.x* > canal.tar.gz
tar -zxvf canal.tar.gz

canal 需要 java 版本 >= 1.7 才能运行。开启和关闭方式分别为 sh bin/startup.sh 和 sh bin/stop.sh

二、配置修改

canal 需要修改的配置在以下两个位置:

conf/canal.properties

conf/example/instance.properties

其中 example 为 destination 名称,如果和其他 canal 混用 zookeeper,请保证 destination 不会冲突。

conf/canal.properties 需要修改的参数
1
2
3
4
5
# canal 本身会绑定到一个端口上,需要保证这个端口没有被占用
canal.port =  3406
 
# canal 所依赖的 zookeeper 地址
canal.zkServers =  127.0 . 0.1 : 2181
conf/destination/instance.properties 需要修改的参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# canal 连接至 mysql 时所使用的 slave id,需要保证连接至同一个 mysql 的 id 互相不冲突
canal.instance.mysql.slaveId =  123456
 
# canal 连接至 mysql 时所使用的地址/账号/密码
canal.instance.master.address =  127.0 . 0.1 : 3306
canal.instance.dbUsername = root
canal.instance.dbPassword =  123456
 
# mapping database to topicstrategy
# format: db1:topic1,db2:topic2,...
canal.instance.topicMapping        = orders:db_test,test:db_test
 
# partition strategy
canal.instance.partitionByPrimaryEnable =  true
 
# partition by a specific column, only effective when partitionByPrimary = False
# format: name of the column
canal.instance.partitionColumn     =
 
# kafka broker address
canal.brokerAddress                =
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值