mongodb使用debezium

前置

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

更多参数请参考

相关推荐
小李云雾13 小时前
实际代码操作知识点分析:SQLAlchemy+FastAPI + 异步MySQL 全流程解析 + 增删改查逐行注释
数据库·mysql·fastapi
人道领域13 小时前
【黑马点评日记】:用户签到功能详解——从Bitmap入门到避坑指南
java·数据库·redis·后端
Vect__13 小时前
MySQL初识和基础操作
数据库·mysql
zhaoyong22213 小时前
如何在 MySQL 中实现基于全字段唯一性的重复行计数更新
jvm·数据库·python
X566113 小时前
为什么宝塔面板网站无法正常连接外部远程数据库_检查服务器安全组放行端口并开启IP授权
jvm·数据库·python
woxihuan12345613 小时前
C#怎么使用CancellationToken C#如何用取消令牌优雅地取消异步任务和长时间操作【进阶】
jvm·数据库·python
yexuhgu13 小时前
MySQL主从复制支持跨版本吗_不同版本间同步的注意事项
jvm·数据库·python
woxihuan12345614 小时前
CSS怎样调整弹性项目排列顺序_使用order属性轻松控制DOM显示顺序
jvm·数据库·python
m0_7485548114 小时前
golang如何实现数据去重处理_golang数据去重处理实现步骤
jvm·数据库·python
神明93114 小时前
mysql索引排序规则设置方法_mysqlCollation对索引影响
jvm·数据库·python