2.2. 规划 Debezium 连接器配置
在部署 Debezium 连接器前,请确定如何配置连接器。配置提供指定连接器行为的信息,并允许 Debezium 连接到源数据库。
您可以将连接器配置指定为 JSON,并准备好注册连接器时,您可以使用 curl
将配置提交到 Kafka Connect API 端点。
先决条件
- 部署了源数据库,Debezium 连接器可以访问数据库。
您知道以下信息,连接器需要访问源数据库:
- 数据库主机的名称或 IP 地址。
- 用于连接到数据库的端口号。
- 连接器可用于登录到数据库的帐户名称。
- 数据库用户帐户的密码。
- 数据库的名称。
- 您希望连接器从中捕获信息的表名称。
- 希望连接器向其发送更改事件的 Kafka 代理名称。
- 您希望连接器向发送数据库历史记录信息的 Kafka 主题名称。
流程
指定您要以 JSON 格式应用到 Debezium 连接器的配置。
以下示例显示了 Debezium MySQL 连接器的简单配置:
{ "name": "inventory-connector", 1 "config": { "connector.class": "io.debezium.connector.mysql.MySqlConnector", 2 "tasks.max": "1", 3 "database.hostname": "mysql", 4 "database.port": "3306", 5 "database.user": "debezium", 6 "database.password": "dbz", 7 "database.server.id": "184054", 8 "topic.prefix": "dbserver1", 9 "table.include.list": "public.inventory", 10 "schema.history.internal.kafka.bootstrap.servers": "kafka:9092", 11 "schema.history.internal.kafka.topic": "dbhistory.inventory" 12 } }
- 1
- 使用 Kafka Connect 集群注册的连接器名称。
- 2
- 连接器类的名称。
- 3
- 可同时运行的任务数量。一次只能运行一个任务。
- 4
- 主机数据库实例的主机名或 IP 地址。
- 5
- 数据库实例的端口号。
- 6
- Debezium 连接到数据库的用户帐户名称。
- 7
- 数据库用户帐户的密码。
- 8
- 连接器的唯一数字 ID。
此属性仅用于 MySQL 连接器。 - 9
- 用作数据库服务器的逻辑标识符的字符串,或连接器从中捕获更改的服务器集群。指定命名空间的字符串。Debezium 将此名称添加到连接器写入的每个 Kafka 主题,以及 Kafka Connect 模式的名称,以及 Avro 模式的命名空间(在使用 Avro converter 时)。
- 10
- 连接器从中捕获更改事件的表列表。
- 11
- 连接器发送数据库架构历史记录的 Kafka 代理名称。指定代理还会接收连接器发出的更改事件。
- 12
- 存储 schema 历史记录的 Kafka 主题的名称。
连接器重启后,连接器会从停止的时间恢复读取数据库日志,并为它离线时发生的任何事务发出事件。在连接器为 Kafka 写入未读取事务的更改事件前,它会检查架构历史记录,然后应用在原始事务发生时生效的模式。
附加信息
- 有关您可以为每种连接器设置的配置属性的详情,请参考 Debezium 用户指南中的 连接器的部署文档。