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 写入未读取事务的更改事件前,它会检查架构历史记录,然后应用在原始事务发生时生效的模式。

附加信息

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.