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 "database.server.name": "dbserver1", "database.include.list": "public.inventory", 9 "database.history.kafka.bootstrap.servers": "kafka:9092", 10 "database.history.kafka.topic": "dbhistory.inventory" 11 } }
- 1
- 要注册到 Kafka Connect 集群的连接器名称。
- 2
- 连接器类的名称。
- 3
- 可以同时操作的任务数量。次只有一个任务应一次运行。
- 4
- 主机数据库实例的主机名或 IP 地址。
- 5
- 数据库实例的端口号。
- 6
- Debezium 连接到数据库的用户帐户的名称。
- 7
- 数据库用户帐户的密码。
- 8
- 唯一的服务器 ID 和名称。服务器名称是数据库服务器或 Debezium 可访问的服务器集群的逻辑标识符。Debezium 将此名称前缀放在它所创建的每个 Kafka 主题中。
- 9
- 连接器捕获更改事件的表列表。
- 10
- 连接器发送数据库 schema 历史记录的 Kafka 代理名称。指定代理还会接收连接器发出的更改事件。
- 11
- 存储 schema 历史记录的 Kafka 主题的名称。
连接器重启后,连接器会从它停止的点中恢复数据库日志,并在其离线时为发生的任何事务发出事件。在连接器将不读取的事务写入 Kafka 前,它会检查 schema 历史记录,然后在原始事务发生时应用生效的模式。
附加信息
- 有关您可以为连接器设置的配置属性的详情,请参考 Debezium 用户指南中的 连接器文档。