红帽构建的 Debezium 2.3.7 发行注记
第 1 章 红帽构建的 Debezium 复制链接链接已复制到粘贴板!
红帽构建的 Debezium 是一组全面的集成和事件处理技术,用于在混合和多环境中创建、扩展和部署基于容器的集成服务。红帽构建的 Debezium 提供了一个敏捷、分布式和以 API 为中心的解决方案,供组织用来连接和共享数字世界中应用程序和系统之间的数据。
红帽构建的 Debezium 包括以下功能:
- 实时消息传递
- 跨数据中心消息流
- API 连接
- 应用程序连接器
- 企业级集成模式
- API 管理
- 数据转换
- 服务组成和编配
第 2 章 Debezium 2.3.7 发行注记 复制链接链接已复制到粘贴板!
Debezium 是一个分布式更改数据捕获平台,用于捕获数据库表中发生的行级更改,然后将对应的更改事件记录传递给 Apache Kafka 主题。应用程序可以读取 这些更改事件流,并按发生更改事件的顺序访问更改事件。Debezium 基于 Apache Kafka 构建,并在 OpenShift Container Platform 或 Red Hat Enterprise Linux 上部署并与 AMQ Streams 集成。
以下主题提供发行版本详情:
2.1. Debezium 数据库连接器 复制链接链接已复制到粘贴板!
Debezium 为以下通用数据库提供基于 Kafka Connect 的连接器:
- Db2
- JDBC Sink 连接器(开发者预览)
- MongoDB
- MySQL
- Oracle
- PostgreSQL
- SQL Server
2.1.1. 连接器使用备注 复制链接链接已复制到粘贴板!
Db2
-
Debezium Db2 连接器不包含 Db2 JDBC 驱动程序(
jcc-11.5.0.0.jar)。有关如何部署必要 JDBC 驱动程序的信息,请参阅 Db2 连接器部署说明。 - Db2 连接器需要使用抽象语法表示法(ASN)库,这些库作为 Linux 的 Db2 标准部分提供。
- 要使用 ASN 库,您必须有用于 IBM InfoSphere 数据复制(IIDR)的许可证。您不必安装 IIDR 来使用库。
-
Debezium Db2 连接器不包含 Db2 JDBC 驱动程序(
Oracle
-
Debezium Oracle 连接器不包含 Oracle JDBC 驱动程序(
ojdbc8.jar)。有关如何部署必要 JDBC 驱动程序的详情,请查看 Oracle 连接器部署说明。
-
Debezium Oracle 连接器不包含 Oracle JDBC 驱动程序(
PostgreSQL
-
要使用 Debezium PostgreSQL 连接器,您必须使用
pgoutput逻辑解码输出插件,这是 PostgreSQL 版本 10 及更高版本的默认设置。
-
要使用 Debezium PostgreSQL 连接器,您必须使用
2.2. Debezium 支持的配置 复制链接链接已复制到粘贴板!
有关 Debezium 支持的配置的详情,包括支持的数据库版本的信息,请参阅 Debezium 2.3.7 支持的配置页面。
2.2.1. AMQ Streams API 版本 复制链接链接已复制到粘贴板!
Debezium 在 AMQ Streams 2.5 上运行。
AMQ Streams 支持 v1beta2 API 版本,它更新 AMQ Streams 自定义资源的 schema。旧的 API 版本已弃用。升级到 AMQ Streams 1.7 后,但在升级到 AMQ Streams 1.8 或更高版本前,您必须升级自定义资源以使用 API 版本 v1beta2。
如需更多信息,请参阅 Debezium 用户指南。
2.3. Debezium 安装选项 复制链接链接已复制到粘贴板!
您可以在 OpenShift 或 Red Hat Enterprise Linux 中使用 AMQ Streams 安装 Debezium:
2.4. 将 Debezium 从版本 1.x 升级到 2.3.7 复制链接链接已复制到粘贴板!
当前版本的 Debezium 包括在从 2.1.4 之前的版本升级时,需要您执行特定步骤的更改。
2.4.1. 将连接器升级到 Debezium 2.3.7 复制链接链接已复制到粘贴板!
Debezium 2.3.7 发行版本包括一些与早于 2.x 的 Debezium 版本不兼容的一些更改。因此,若要在从 Debezium 1.x 版本升级到 2.3.7 时保留数据并确保继续操作,您必须在升级过程中完成一些手动步骤。
一个显著的更改是某些连接器参数的名称已更改。要容纳这些更改,请查看 2023.Q2 发行注记中的 配置属性更新,并记录您的连接器配置中存在的属性。在升级前,编辑每个 Debezium 连接器的配置,以添加任何更改的属性的新名称。在升级前,编辑任何 1.x 连接器实例的配置,以便存在旧属性和新属性名称。升级后,您可以删除旧的配置选项。
先决条件
- Debezium 现在与 Kafka 版本兼容,最多 3.5.0。
- 需要 Java 11 运行时,必须在升级前使用。AMQ Streams 2.5 支持 Java 11。在开发新应用程序时使用 Java 11。Java 11 允许使用最新的语言更新,如新的 String API 和 predicate 支持的变化,同时受益于 Java 性能改进。AMQ Streams 2.5 不再支持 Java 8。
- 检查当前 更改以及 2023.Q2 发行注记中的与向后兼容性相关的更改。
- 验证您的环境是否符合 Debezium 2.3.7 支持的配置。
流程
- 在 OpenShift 控制台中,查看 Kafka Connector YAML 来识别 Debezium 2.3.7 中不再有效的连接器配置。详情请参阅 2023.Q2 发行注记。
- 编辑配置,为在第 1 步中识别的属性添加 2.x 等效项,以便存在旧属性和新属性名称。将新属性的值设置为之前为旧属性指定的值。
- 在 OpenShift 控制台中,停止 Kafka Connect 以安全停止连接器。
- 在 OpenShift 控制台中,编辑 Kafka Connect 镜像 YAML 来引用连接器 zip 文件的 Debezium 2.3.7.Final 版本。
- 在 OpenShift 控制台中,编辑 Kafka Connector YAML 以删除不再对连接器有效的配置选项。
- 根据需要调整应用程序的存储依赖项,具体取决于代码中的存储模块实现依赖项。如需更多信息,请参阅 2023.Q2 发行注记中的 Debezium 存储的变化。
- 重启 Kafka Connect 以启动连接器。重启连接器后,它会从升级前停止的时间点继续处理事件。在不修改升级前,更改连接器写入 Kafka 的事件记录。
2.5. Debezium 2.3.7 功能和改进 复制链接链接已复制到粘贴板!
Debezium 2.3.7 为在 Debezium 2.3.4 中发现的以下问题提供修复,这些问题于 2023 年 Q4 中提供。
- DBZ-6942 Connector 频繁丢失提交操作
- DBZ-6957 从 Signal 和 Notification MBean 的 ObjectName 中删除空格
- DBZ-6963 Missing来自 Oracle 19c 的事件
- DBZ-6978 ParsingException (MySQL/MariaDB):带有空格的用户规格
- DBZ-6986 RecordsStreamProducerIT#shouldReceiveChangesForInfinityNumericWithInfinity 在 Postgres < 14 上失败
- 当向 JDBC sink 目标中添加多个列时,DBZ-6999 ALTER TABLE 会失败
- DBZ-7006 单引用复制和数据丢失
- DBZ-7018 Oracle connector: Payload size over 76020 bytes 被截断
- DBZ-7158 日志序列检查应该独立处理每个 redo 线程
- DBZ-7263 DBZ-6517 HotFix: CloudEventsConverter 会在 Kafka Connect 3.5+ 上抛出静态错误。
- DBZ-7345 Oracle 连接器偶尔无法找到 SCN
有关 Debezium 2.3.4 发行版本中引入的更改的详情,请参考 发行注记。
2.5.1. 可能会造成问题的更改 复制链接链接已复制到粘贴板!
这个版本没有破坏的更改。有关破坏上一个版本中更改的列表,请参阅 2.3.4 发行注记。
2.5.2. 正式发行(GA)功能 复制链接链接已复制到粘贴板!
这个版本没有新的正式发行(GA)。
2.5.3. 技术预览功能 复制链接链接已复制到粘贴板!
Debezium 2.3.7 包括以下在早期版本中引入的技术预览功能:
- MongoDB 分片集群改进
- 用于多副本和分片集群的 MongoDB 增量快照
- 并行初始快照
- CloudEvents converter
- 自定义开发的转换器
-
使用带有 Oracle 连接器的
BLOB、CLOB和NCLOB数据类型
技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中实施任何技术预览功能。技术预览功能为用户提供了一个对最新的产品创新的试用机会,以便用户可以对其进行测试并提供反馈。如需有关支持范围的更多信息,请参阅 技术预览功能支持范围。
有关之前版本中执行的技术预览功能的更多信息,请参阅 2.3.4 发行注记
2.5.4. 开发人员预览功能 复制链接链接已复制到粘贴板!
Debezium 2.3.7 包括以下开发人员预览功能,这些功能在早期版本中引入:
- JDBC Sink 连接器
- MySQL 连接器:并行快照
- Oracle 连接器:从逻辑待机中获取更改
- PostgreSQL 连接器: Exactly-once delivery
红帽以任何方式支持开发人员预览功能,且功能不完整或生产就绪。对于生产环境或关键业务工作负载,不要使用开发人员预览软件。开发人员预览软件可提前访问即将发布的产品软件。客户可以使用此软件测试功能并在开发过程中提供反馈。此软件可能没有任何文档,可以随时更改或删除,并收到有限的测试。红帽可能会提供在没有关联的 SLA 的情况下提交开发人员预览软件反馈的方法。
有关 Red Hat Developer Preview 软件支持范围的更多信息,请参阅 开发人员预览支持范围。
有关从上一版本传输的开发人员预览功能的更多信息,请参阅 2.3.4 发行注记
2.6. 已弃用的功能 复制链接链接已复制到粘贴板!
这个版本没有新的已弃用的功能。有关上一版本中已弃用的功能的详情,请参考 2.3.4 发行注记
2.7. 已知问题 复制链接链接已复制到粘贴板!
以下已知问题会影响 Debezium 2.3.7: