前置环境:安装kafka并启动
1 修改canal.properties中canal的输出model,默认tcp,改为输出到kafka
2 修改 Kafka 集群的地址
3 修改 instance.properties 输出到 Kafka 的主题以及分区数
注意:默认还是输出到指定Kafka主题的一个kafka分区,因为多个分区并行可能会打乱binlog的顺序,如果要提高并行度,首先设置kafka的分区数>1, 然后设置canal.mq.partitionHash 属性
4 启动Canal
bin/startup.sh
5 看到CanalLauncher你表示启动成功,同时会创建canal_test主题
6 启动 Kafka 消费客户端测试,查看消费情况
bin/kafka-console-consumer.sh --bootstrap-server 192.168.222.130:9092,192.168.222.131:9092,192.168.222.132:9092 --topic canal_test --from-beginning
7 向MySQL中插入数据后查看消费者控制台
INSERT INTO user_info VALUES('1005','handsome1','male');
8 Kafka消费者控制台
{
"data": [{
"id": "1005",
"name": "handsome1",
"sex": "male"
}],
"database": "caneltestdb",
"es": 1681672184000,
"id": 3,
"isDdl": false,
"mysqlType": {
"id": "varchar(255)",
"name": "varchar(255)",
"sex": "varchar(255)"
},
"old": null,
"pkNames": null,
"sql": "",
"sqlType": {
"id": 12,
"name": 12,
"sex": 12
},
"table": "user_info",
"ts": 1681672184701,
"type": "INSERT"
}