在 Debezium Mysql 连接器中将更多表列入白名单的有效方法

Posted

技术标签:

【中文标题】在 Debezium Mysql 连接器中将更多表列入白名单的有效方法【英文标题】:Efficient ways for whitelisting more tables in Debezium Mysql Connector 【发布时间】:2020-09-15 11:49:00 【问题描述】:

将新表列入 debezium mysql 连接器的白名单是否有任何最佳实践?

我们正在为我们的 CDC 流使用 debezium mysql 连接器,并且出现了将更多表列入连接器配置的白名单的用例。以下是正在使用的 debezium 的版本详细信息和


    "class": "io.debezium.connector.mysql.MySqlConnector",
    "version": "0.8.0.Final",
    "snapshot.mode": "schema_only"


有一个 debezium 票 https://issues.redhat.com/browse/DBZ-906 表示要在

中运行连接器
"snapshot.mode": "schema_only_recover"

模式并在重新启动连接器之前重新创建历史主题。我对这种方法有几个问题

此选项是否也可用于上述版本? 如何在表被列入白名单之前获取对新表的更新?

【问题讨论】:

【参考方案1】:

首先,请升级 Debezium,因为 0.8.0 版本非常旧。

通常有多种方法可以解决您的问题,但如果您可以承受暂停流式传输的费用,那么我建议您这样做 1) 停止当前连接器 2)使用列入白名单的新表启动一个新连接器以在其上执行快照 3) 快照完成后,使用更新的白名单表列表启动原始连接器

查看例如https://groups.google.com/forum/?fromgroups=#!msg/debezium/Iw4BgLZ8Mq4/SZBLGwEaAQAJ;context-place=forum/debezium 了解详细信息

如果您无法承受停机时间,请查看DBZ-175 中介绍的实验方法

【讨论】:

感谢您的建议,将检查这些,当拍摄快照时,是只为新添加的表格拍摄快照还是列表中的所有表格拍摄快照?同意对 debezium 进行升级 白名单中列举的第一种情况。在第二种情况下,只有新添加的。

以上是关于在 Debezium Mysql 连接器中将更多表列入白名单的有效方法的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Debezium从MS SQL中将250张表导入Kafka

无法在 GKE 上部署 mysql debezium 连接器 - 用户没有“锁定表”权限

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

Kafka 连接(Debezium mysql 连接器)只监听 table.include.list 中的特定表

如何检查 debezium 快照是不是完整

Debezium - MySQL 连接器 - Kinesis - 服务未启动