您正在查看 Debezium 未发布版本的文档。
如果您想查看此页面的最新稳定版本,请在此 查看。

Debezium UI

此功能目前处于孵化状态,即确切的语义和行为等可能会在未来根据收到的反馈进行更改。如果您在使用 Debezium UI 时遇到任何问题或有功能请求,请告知我们。

Debezium UI 允许用户更轻松地设置和操作连接器。例如,可以查看所有连接器的列表及其状态等。创建连接器向导允许用户配置连接器,并在此过程中指导和验证属性条目。

设计注意事项

该 UI 实现为一个基于 Quarkus 的 Web 应用程序。后端配置了一个或多个 Kafka Connect 集群的 URL,并为前端提供了 REST 接口。前端用户界面主要使用 ReactJS 技术,并利用 Patternfly 的 React 组件和设计模式。

安装和配置

配置 Debezium UI

下表显示了 Debezium UI 容器镜像 的环境变量以及在不使用容器运行 Java 应用程序时 application.properties 中的相关参数名称。

Item 环境变量 application.properties 中的参数名称 Default value 描述

1

DEPLOYMENT_MODE

deployment.mode

default

指定 Debezium UI 的部署方式。

例如,在某些环境中可能无法访问底层的后端、Kafka Connect REST 接口或数据库,此时可以将部署模式切换为与底层基础架构匹配。

default 默认部署模式。它使用 Debezium UI 后端,并通过 Kafka Connect REST 接口(有关配置方式,请参阅 KAFKA_CONNECT_URIS)连接到已配置的 Kafka Connect 集群。


validation.disabled 设置为 validation.disabled 时,UI 前端将不会调用后端来验证用户输入,也不会检查数据库连接的可用性和正确配置。该模式仅用于生成 Debezium 连接器 JSON 配置,而不进行 UI 后端验证。

2

KAFKA_CONNECT_URIS

kafka.connect.uris

http://connect:8083

一个或多个 Kafka Connect REST 接口 URL 的逗号分隔列表,用于指定应由 Debezium UI 管理的 Kafka Connect 集群。

Debezium UI 容器镜像

Debezium UI 容器镜像 可用于运行 UI。要通过 Docker 启动 UI 并连接到现有的 Kafka Connect 实例(其中 KAFKA_CONNECT_URIS 提供可用 URI 的逗号分隔列表)

$ docker run -it --rm --name debezium-ui -p 8080:8080 -e KAFKA_CONNECT_URIS=http://connect:8083 quay.io/debezium/debezium-ui:{debezium-version}

UI 通过 REST 连接到 Kafka Connect,因此您需要确保后者是可访问的,例如,将两个组件运行在同一个 Docker 网络上。

目前,UI 连接到未进行身份验证的 Kafka Connect 实例。此外,UI 本身尚未实现任何授权或身份验证。在此之前,您应该使用自己的代理等来保护组件,并在需要时进行授权。

独立的示例

提供了一个独立的 ui-demo 示例,该示例包含在 Github 上的 debezium-examples 项目下。ui-demo 包含一个 docker-compose 文件,该文件会启动几个带有数据的源以及 UI。有关运行 Debezium ui-demo 的更多详细信息,请参阅 README 文件

UI 操作

UI 连接器列表

UI 的主页面显示所有已注册的连接器。主页的一些亮点如下:

  • 可以通过标题中的下拉菜单选择 **Kafka Connect 集群**。

  • 连接器表显示每个连接器的类型(MongoDB、MySQL、Oracle、PostgreSQL 或 SQL Server)、连接器状态和连接器任务。

  • 可以展开连接器行以显示更多详细信息,如下所示的 'testPostgres' 连接器。指标显示在展开区域(**注意:**此功能仍在开发中,尚未实现)。连接器任务显示,并允许在需要时 **重启** 任务。

  • 每个连接器行右侧的溢出菜单提供了允许用户 **暂停、恢复、重启或删除** 连接器的操作。

Debezium UI connectors

UI 创建连接器向导

用户可以通过单击主页面上的 **创建连接器** 按钮来创建连接器。向导的前两个步骤是必需的,其余步骤是可选的。每个步骤都会验证用户的输入,并在出现问题时提供反馈。成功完成步骤 1 和 2 后,用户可以继续到最后一页审核并创建连接器。

创建连接器 - 连接器类型(必填)

在步骤 1 中选择连接器类型。目前,您可以指定以下连接器类型:MongoDBMySQLOraclePostgreSQLSQL Server

Debezium UI Create connector step1

创建连接器 - 属性(必填)

在步骤 2 中,您输入所选连接器的基本连接属性,并确认属性验证成功。您还可以在此步骤的单独部分中指定高级连接属性。成功验证后,您可以继续进行后续步骤(其他属性),或者单击向导页脚中的 **审阅并完成** 以绕过其他属性直接进入审阅。

Debezium UI Create connector step2

创建连接器 - 其他属性(可选)

附加属性是可选的,可以总结如下:

  • 过滤器定义 - 输入 **正则表达式**,用于定义包含/排除将包含在 CDC 中的项目的过滤器。当输入和应用过滤器时,将显示包含的项目。

  • 转换 - 启用对单个消息的逐个修改。单个消息转换 (SMT) 在将记录发送到 Apache Kafka 之前,通过将其应用于 Debezium 连接器来修改这些记录。有关单个消息转换的更多信息,请参阅 转换

  • 主题创建 - 定义用于启用自动主题创建的默认属性和组。

  • 数据选项 - **快照** 和 **映射** 属性(可选)。可以查看并根据需要更改默认值。

  • 运行时选项 - **引擎** 和 **心跳** 属性(可选)。可以查看并根据需要更改默认值。

  • 自定义属性 - 允许传递前面部分未指定的其他属性,例如 database.database.history. 选项。您可以输入任何有效的属性名称和值。

创建连接器 - 审阅

审阅 步骤提供了将用于创建连接器的配置摘要。如果您对所选内容满意,请单击 **完成** 来创建连接器。要调整任何属性,请导航回前面的步骤。您还可以复制或下载连接器的 JSON 配置负载。

Debezium UI Create connector review