自助搭建mysql-canal-kafka通道

該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                =
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章