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
- 用作数据库服务器的逻辑标识符或连接器捕获更改的服务器集群的字符串。指定的字符串指定一个命名空间。当使用 Avro converter 时,Debezium 将此名称添加到连接器写入的每个 Kafka 主题以及 Kafka Connect 模式的名称,以及相应的 Avro 模式的命名空间。
- 10
- 连接器捕获更改事件的表列表。
- 11
- 连接器发送数据库 schema 历史记录的 Kafka 代理的名称。指定代理还会接收连接器发出的更改事件。
- 12
- 存储 schema 历史记录的 Kafka 主题的名称。
在连接器重启后,连接器会从停止的时间点恢复读取数据库日志,为在它离线时发生的任何事务发出事件。在连接器将更改事件写入 Kafka 之前,它会检查 schema 历史记录,然后应用原始事务发生时生效的 schema。
附加信息
- 有关您可以为每种连接器设置的配置属性的信息,请参阅 Debezium 用户指南中的 连接器的部署文档。