前置
服务器上需要安装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) | 


