前置
服务器上需要安装jdk11
jdk下载地址
kafka安装
官网下载地址
安装教程
debezium 安装
运行 Debezium 连接器需要 Java 11 或更高版本
Debezium 并不是一个独立的软件,而是很多个 Kafka 连接器的总称。这些 Kafka 连接器分别对应不同的数据库,比如 MySQL、Oracle 等。按 Kafka 连接器的常见命名规则,可能我们会把它们叫做 MySQL Kafka Source Connector 之类。
部署
1.下载对应版本的debezium插件
插件地址
2.文件解压
将下载的文件解压,将解压后的文件放到kafka的plugin文件夹下(该plugin文件夹为自己创建的plugin文件夹)*,例如
3. 通过 kafka connect部署
kafka connect有两种部署方式,一是单机部署,二是分布式部署。单机部署配置kafka/config/connect-standalone.properties 文件,分布式部署则配置kafka/config/connect-distributed.properties。分布式部署支持通过rest api管理connector
此处是单机部署,配置文件为kafka/config/connect-standalone.properties,主要修改以下内容:
# plugin.path=/usr/local/share/java,/usr/local/share/kafka/plugins,/opt/connectors,
plugin.path=/usr/local/kafka/plugin
4.启动kafka-connect
需要先启动kafka
bin/connect-standalone.sh config/connect-standalone.properties
5.创建对应的debezium配置文件
curl -X POST http://${debezium所在服务器}:8083/connectors
{
"name": "cdc-connector",
"config": {
"connector.class": "io.debezium.connector.mongodb.MongoDbConnector",
"mongodb.connection.string": "mongodb://root:123456@192.168.2.18:27017,192.168.2.19:27017/?authSource=admin",
"collection.include.list": "db_cdc_1.c_cdc_2",
"topic.prefix": "mycdc"
}
}
重点参数
参数 | 描述 |
---|---|
connector.class | 固定值io.debezium.connector.mongodb.MongoDbConnector |
mongodb.connection.string | mongodb连接信息 |
collection.include.list | 需要监听的具体collection |
topic.prefix | kafkaTopic前缀 |
其他未使用参数
参数 | 描述 |
---|---|
database.include.list | 需要监听的具体database |
database.exclude.list | 不监听的database(不要与database.include.list填写相同的db) |
collection.exclude.list | 不监听的collection(不要与collection.include.list填写相同的collection) |
更多参数请参考