Kafka:从启用更改跟踪的 SQL 服务器读取
Posted
技术标签:
【中文标题】Kafka:从启用更改跟踪的 SQL 服务器读取【英文标题】:Kafka : Read from SQL server with change tracking enabled 【发布时间】:2019-04-12 07:23:13 【问题描述】:我一直在尝试将数据从 SQL 服务器(启用更改跟踪)加载到 Kafka,以便一个或多个系统(报告、其他数据库等)使用它
我已经设法为 sql server(confluentinc/kafka-connect-cdc-mssql:1.0.0-preview) 配置了 Kafka 连接插件,并且我还设法在 kafka 机器上启动了它。
我一直在寻找有助于回答以下问题的文档(找不到任何文档)
-
如何将 kafka 主题与此连接相关联?
根据我发现的信息(在 debezium 论坛上),将为每个单独的表创建一个主题 --> 它与 kafka sql server 连接器的工作方式相同吗?
我已将连接配置为分布式模式,我们在多台服务器上运行 kafka,是否需要在每台服务器上运行连接?
有没有人使用 Debezium 与 sql server 更改跟踪和 kafka ? Debezium 的网站描述了“alpha 阶段”的连接,我想知道是否有任何活跃用户。
PS:我也愿意使用其他选项将实时数据从 sql server 加载到 Kafka(带有时间戳/数字字段的 jdbc 连接是我的备份选项。备份选项,因为我的源数据库中有一些表可以不包含此类字段[更改不是也不能使用数字/时间戳字段进行跟踪])。
【问题讨论】:
docs.confluent.io/current/connect/userguide.html 理想情况下,您不应在实际的 Kafka Broker 服务器上运行 Kafka Connect 在 4 上,Debezium SQL Server 连接器不是基于更改跟踪,而是基于 CDC 功能。 【参考方案1】:1 & 2 -- 我如何将 kafka 主题与此连接相关联
我相信它是针对每个表的,但您也许可以使用RegexRouter
Connect 转换将多个表合并到一个主题中。
3 -- 将连接配置为分布式模式,我们有kafka在多台服务器上运行,是否需要在每台服务器上都运行连接
Kafka Connect 应该在您的 Kafka 服务器之外运行。它是独立可扩展的。
4 -- 带有 sql server 更改跟踪的 Debezium
我没有。向 Debezium 邮件列表或处理这些功能的 JIRA 票询问可能是一个更好的问题。
【讨论】:
以上是关于Kafka:从启用更改跟踪的 SQL 服务器读取的主要内容,如果未能解决你的问题,请参考以下文章
Spark steaming 从 Kafka 读取并在 Java 中应用 Spark SQL 聚合