前置
服务器上需要安装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,主要修改以下内容:
yaml
# plugin.path=/usr/local/share/java,/usr/local/share/kafka/plugins,/opt/connectors,
plugin.path=/usr/local/kafka/plugin
4.启动kafka-connect
需要先启动kafka
yaml
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) |