您正在查看Debezium未发布版本的文档。开云体育官方注册网址
如果您想查看本页最新的稳定版本,请前往在这里

安装Debezium开云体育官方注册网址

有几种方法可以安装和使用Debezium连接器,因此我们记录了几种最常见的方法。开云体育官方注册网址

安装Debezium连接器开云体育官方注册网址

如果您已经安装了动物园管理员卡夫卡,卡夫卡连接,那么使用Debezium的连接器就很容开云体育官方注册网址易了。只需下载一个或多个连接器插件存档(见下文),将它们的文件解压缩到Kafka Connect环境中,并将解压缩插件的父目录添加到Kafka Connect的插件路径中。如果还不是这样,请在worker配置中指定插件路径。connect-distributed.properties)使用plugin.path配置属性。作为一个例子,让我们假设您已经下载了Debezium MySQL连接器存档,并将其内容提取到开云体育官方注册网址卡夫卡/ / debezium开云体育官方注册网址-connector-mysql连接.然后在worker配置中指定以下内容:

plugin.path = /卡夫卡/连接

重新启动Kafka Connect进程以获取新的jar。

连接器插件可从Maven获得:

以上所有链接都指向Debezium主分支的夜间快照。开云体育官方注册网址如果您正在寻找非快照版本,请在右上角选择适当的版本。

如果你喜欢不可变容器,那就试试吧开云体育官方注册网址Debezium的容器图像替代来源在DockerHub上)用于Apache Kafka, Kafka Connect和Apache Zookeeper,不同的Debezium连接器已经预安装并准备就绪。开云体育官方注册网址我们的教程甚至引导您使用这些图像,这是了解Debezium的一个很好的方法。开云体育官方注册网址当然你也可以在Kubernetes上运行Debeziu开云体育官方注册网址mOpenShift.使用Strimzi推荐使用Kubernetes Operator。它允许部署Apache Kafka, Kafka Connect,甚至通过自定义Kubernetes资源声明式地部署连接器。

默认情况下,目录卡夫卡/连接被Kafka Connect的Debezium Docker镜像用作插开云体育官方注册网址件目录。因此,您希望使用的任何其他连接器都应该添加到该目录中。或者,您可以通过指定KAFKA_CONNECT_PLUGINS_DIR启动容器时的环境变量(例如:- e KAFKA_CONNECT_PLUGINS_DIR = /卡夫卡/连接/,/道路/进一步/ /插件).当使用Confluent提供的Kafka Connect容器映像时,您可以指定CONNECT_PLUGIN_PATH实现环境变量相同。

注意,运行Debezium连接器或Debezium UI需要Java 11或更高版本。开云体育官方注册网址

消费快照版本

开云体育官方注册网址Debezium每晚都会执行构建和部署到Sonatype快照存储库中。如果您想尝试最新的或验证您感兴趣的错误修复,则使用来自的插件oss.sonatype.org或查看主分支用于直接链接到每个连接器的插件工件的本文档版本。安装过程与常规版本相同。

使用Debezi开云体育官方注册网址um连接器

要使用连接器为特定的源服务器/集群生成更改事件,只需为MySQL连接器Postgres连接器MongoDB连接器SQL Server连接器甲骨文连接器Db2 Connector卡桑德拉的连接器,或维塔斯的连接器,并使用Kafka连接REST API将该连接器配置添加到Kafka Connect集群中。当连接器启动时,它将连接到源,并为每个插入、更新和删除的行或文档生成事件。

看Debeziu开云体育官方注册网址m连接器文档获取更多信息。

配置Debezium主题开云体育官方注册网址

开云体育官方注册网址Debezium使用(通过Kafka Connect或直接)多个主题来存储数据。主题要么由管理员创建,要么由Kafka自己通过自动创建主题来创建。有一些限制和建议适用于主题:

  • 开云体育电动老虎机数据库模式历史主题(用于MySQL和SQL Server的Debezium连接开云体育官方注册网址器)

    • 无限(或非常长的)保留(没有压缩!)

    • 生产复制因子至少为3

    • 单分区

  • 其他主题

    • 可选地,日志压实已启用(如果您希望只保留最后的更改事件为给定的记录);在这种情况下min.compaction.lag.ms而且delete.retention.msApache Kafka中的主题级别设置应该配置,以便消费者有足够的时间接收所有事件和删除标记;具体来说,这些值应该大于您预期的接收器连接器的最大停机时间,例如在更新它们时

    • 在生产中复制

    • 单分区

      • 您可以放松单分区规则,但应用程序必须处理数据库中不同行的乱序事件(单行的事件仍然完全有序)。开云体育电动老虎机如果使用多个分区,Kafka将默认通过哈希键来确定分区。其他分区策略需要使用smt为每条记录设置分区号。

    • 自定义主题自动创建(自Kafka Connect 2.6.0起可用)参见自定义主题自动创建

使用Debezium开云体育官方注册网址库

尽管Debeziu开云体育官方注册网址m打算用作交钥匙服务,但所有jar和其他工件都可以在Maven中央

我们确实提供了一个小的库,所以应用程序可以嵌入任何Kafka连接连接器并使用直接从源系统读取的数据更改事件。这提供了一个轻量级的系统(因为不需要Zookeeper, Kafka和Kafka Connect服务),但由于应用程序必须管理和维护通常保存在Kafka的分布式和复制日志中的所有状态,因此它不具有容错性或可靠性。它非常适合在测试中使用,如果仔细考虑,它可能在某些应用程序中有用。