安装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.ms
Apache Kafka中的主题级别设置应该配置,以便消费者有足够的时间接收所有事件和删除标记;具体来说,这些值应该大于您预期的接收器连接器的最大停机时间,例如在更新它们时在生产中复制
单分区
您可以放松单分区规则,但应用程序必须处理数据库中不同行的乱序事件(单行的事件仍然完全有序)。开云体育电动老虎机如果使用多个分区,Kafka将默认通过哈希键来确定分区。其他分区策略需要使用smt为每条记录设置分区号。
自定义主题自动创建(自Kafka Connect 2.6.0起可用)参见自定义主题自动创建
使用Debezium开云体育官方注册网址库
尽管Debeziu开云体育官方注册网址m打算用作交钥匙服务,但所有jar和其他工件都可以在Maven中央.
我们确实提供了一个小的库,所以应用程序可以嵌入任何Kafka连接连接器并使用直接从源系统读取的数据更改事件。这提供了一个轻量级的系统(因为不需要Zookeeper, Kafka和Kafka Connect服务),但由于应用程序必须管理和维护通常保存在Kafka的分布式和复制日志中的所有状态,因此它不具有容错性或可靠性。它非常适合在测试中使用,如果仔细考虑,它可能在某些应用程序中有用。