自推出 Debezium 管理平台(Debezium 平台)以来,我们的目标一直是简化 CDC 数据管道的构建,以便您可以专注于数据如何从源流向目的地。许多用户已经在 Kafka Connect 或 Debezium Server 上运行 Debezium 连接器。
因此,为了进一步简化入门流程并快速启动,我们引入了在 Debezium 平台中重用 Kafka Connect 上的任何现有 Debezium 连接器配置或任何 Debezium Server 配置的功能。
使用智能编辑器
您现在可以使用智能编辑器来**自动格式化** Kafka Connect 上的 Debezium 连接器配置或 Debezium Server 配置,以创建数据管道或其组件,即源、目的地和转换。
有两种使用方法:
-
在常规资源创建流程中,在传统的基于表单的 UI 和**智能编辑器**之间切换。
-
或者,直接从目录页面通过智能编辑器创建资源,跳过先选择类型然后填写表单的传统流程。
源
您可以使用 Kafka Connect 上的 Debezium 连接器配置或 Debezium Server 配置来创建源。
使用 Kafka Connect 上的 Debezium 连接器配置源
要重用现有的 Debezium 连接器配置,您可以上传包含配置的文件,或者将配置复制并粘贴到智能编辑器中。Stage UI 会智能识别您提供的配置格式,并提示您将其重新格式化以供平台使用。
例如,考虑以下用于指定 Kafka Connect 上 Debezium MySQL 连接器配置的 JSON
{
"name": "inventory-connector",
"config": {
"connector.class": "io.debezium.connector.mysql.MySqlConnector",
"tasks.max": "1",
"database.hostname": "mysql",
"database.port": "3306",
"database.user": "debezium",
"database.password": "dbz",
"database.server.id": "184054",
"topic.prefix": "dbserver1",
"database.include.list": "inventory"
}
} 当您将此 JSON 添加到智能编辑器时,它会检测到它是为 Kafka Connect 格式化的,并显示一个警报。
智能编辑器工具栏然后会显示一个**自动格式化**选项,如前图所示。**自动格式化**选项会自动将提供的 JSON 转换为所需的 Debezium 平台 JSON 格式。
您可以选择进一步编辑 JSON,例如更新 `name` 字段的值或填充 `description` 字段。
下图显示了使用**自动格式化**选项将 MySQL 数据源的配置转换为 JSON 后得到的结果。
使用 Debezium Server 配置源
同样,您可以在**智能编辑器**中提供 Server 配置,以自动提取源配置并重新格式化,以便在 Debezium 平台中使用。有关更多信息,请参阅使用智能编辑器配置目的地。
目标
您可以使用 Debezium Server 配置直接创建目的地
使用 Debezium Server 配置目的地
您可以通过上传或粘贴到智能编辑器中来直接使用 Debezium Server 配置。Stage UI 会智能识别配置类型,并提示您将其重新格式化以供平台使用。该编辑器会自动提取 Debezium Server 接收器配置,并将其转换为平台支持的 JSON 格式。
例如,考虑来自 Debezium Server 配置的以下属性
# ...
debezium.sink.type=pubsub
debezium.sink.pubsub.project.id=debezium-tutorial-local
debezium.sink.pubsub.address=pubsub:8085
debezium.source.connector.class=io.debezium.connector.mysql.MySqlConnector
debezium.source.database.hostname=mysql
debezium.source.database.server.id=223344
debezium.source.database.port=3306
debezium.source.database.user=debezium
debezium.source.database.password=dbz
debezium.source.schema.history.internal=io.debezium.storage.file.history.FileSchemaHistory
debezium.source.schema.history.internal.file.filename=data/schema.dat
debezium.source.offset.storage.file.filename=data/offsets.dat
debezium.source.offset.flush.interval.ms=0
debezium.source.topic.prefix=tutorial
debezium.source.database.include.list=inventory
debezium.source.table.include.list=inventory.customers
# .. 当您将前面的属性文件添加到智能编辑器时,它会确认它识别该文件为 Debezium Server 配置。
智能编辑器工具栏会显示一个**自动格式化**选项,如上图所示。选择此选项可自动提取接收器配置,并将接收器属性转换为 Debezium 平台支持的 JSON 格式。
下图显示了在编辑器自动格式化您添加的发布-订阅接收器属性后生成的 JSON。编辑 JSON 以更新 name 字段的值,并可选地填充 description 字段。
使用 Debezium Server 配置创建管道
在 Pipeline Designer 中,您通过将所有组件组合在一起创建数据管道:选择一个源、可选的转换以及一个目的地,可以选择现有资源或创建新资源。如果您已经有 Debezium Server 配置,您可能不想单独创建每个组件。
您现在可以将 Debezium Server 配置直接上传到**Pipeline Designer**,一步创建完整的数据管道。UI 分析配置并提取每个资源的相关设置,依次创建源、目的地和转换。
有关此功能演示的简短视频,请参阅以下视频
| 此视频是我们Debezium YouTube 频道的一部分!我们建议您订阅该频道,以免错过任何新视频。 |
关于 Debezium
Debezium 是一个开源的分布式平台,可以将现有数据库转变为事件流,使应用程序能够几乎即时地看到并响应数据库中已提交的每个行级更改。Debezium 构建在 Kafka 之上,并提供了 Kafka Connect 兼容的连接器,用于监控特定的数据库管理系统。Debezium 将数据更改的历史记录在 Kafka 日志中,这样您的应用程序可以随时停止和重新启动,并可以轻松地消费在未运行时错过的所有事件,确保所有事件都被正确且完整地处理。Debezium 在 Apache 许可证 2.0 下是 开源 的。