前言
最近有一个项目需要用到canal 做数据同步,使用canal->kafka->canal->db 方式,kafka 鉴权方式使用SASL/PLAINTEXT 方式的配置,躺平了3天,最终翻看源码得以解决,以此记录
准备
kafka SASL/PLAINTEXT 鉴权环境搭建(实施小伙帮自己)
canal-server 1.1.5版本
mysql 5.5.6版本(实施小伙帮自己)
配置更改
canal-server
config/canal.properties 增加下列三行,
kafka.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='admin' password='admin-secret';
kafka.sasl.mechanism=PLAIN
kafka.security.protocol=SASL_PLAINTEXT
其他相关kafka链接等配置不在说明
kafka.bootstrap.servers
canal.serverMode = kafka
config/instance.properties 中的canal.mq.topic 参数配置是否正确