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
- 连接器发送数据库模式历史记录的 Kafka 代理名称。指定代理还会接收连接器发布的更改事件。
- 11
- 存储 schema 历史记录的 Kafka 主题名称。
在连接器重启后,连接器会从它停止的点中恢复数据库日志,为在离线时发生的任何事务发送事件。在连接器写入对 Kafka 的未读取事务更改事件之前,它会检查 schema 历史记录,然后在原始事务发生时应用效果的 schema。
附加信息
- 有关您可以为各种连接器设置的配置属性的信息,请参阅 Debezium 用户指南中的 连接器的部署文档。