一个 Mysql DB 的多个 debezium 连接器

Posted

技术标签:

【中文标题】一个 Mysql DB 的多个 debezium 连接器【英文标题】:Multiple debezium connector for one Mysql DB 【发布时间】:2020-12-10 21:46:38 【问题描述】:

我正在尝试创建多个连接器相同的数据库,但出现异常

org.apache.kafka.connect.errors.ConnectException: 一个与这个slave具有相同server_uuid/server_id的slave已经连接到master;第一个事件'mysql-bin.000004'在1088,最后一个事件从'./mysql-bin.000004'读取在1310,最后一个字节从'./mysql-bin.000004'在1310读取。错误代码: 1236; SQLSTATE: HY000.\n\tat io.debezium.connector.mysql.AbstractReader.wrap(AbstractReader.java:230)

【问题讨论】:

【参考方案1】:

在每个连接器配置中,“database.server.id”字段必须是唯一的。

删除每个连接器(除了一个)并使用新的“database.server.id”重新创建它。

【讨论】:

debezium.io/documentation/reference/connectors/mysql.html 表 16 server-id 参数:“对于 MySQL 集群中的每个服务器和复制客户端,server-id 的值必须是唯一的。在 MySQL 连接器设置期间,Debezium 分配一个唯一的连接器的服务器 ID。”。

以上是关于一个 Mysql DB 的多个 debezium 连接器的主要内容,如果未能解决你的问题,请参考以下文章

如何为 mysql 数据库创建多个 Debezium 连接器

如何在单个 Postgres 服务器中将 Embedded Debezium 用于多个数据库?

多个表之间 CDC 事件的 Debezium 排序

为数据库中的多个表配置 debezium 连接器

Debezium MySQL错误:连接密码为空

debezium - 模式注册表问题