Debezium Kafka Connect 需要重启 PostgreSQL cdc 才能工作

Debezium Kafka Connect requires restart for PostgreSQL cdc to work

我正在尝试通过以下设置使用 debezium kafka 连接进行 cdc:

我也在按顺序配置和启动它们。

启动 Kafka Connect Debezium 后,我做了一个 POST 来配置它:

{
  "name": "postgres-boxes-connector",
  "config": {
    "connector.class": "io.debezium.connector.postgresql.PostgresConnector",
    "database.hostname": "172.17.0.4",
    "database.port": "5432",
    "database.user": "postgres",
    "database.password": "postgres",
    "database.dbname" : "postgres",
    "database.server.name": "fullfillment",
    "table.whitelist": "public.boxes"
  }
}

启动监视程序后,我看到以下内容warning/error:

WARN [Consumer clientId=consumer-1, groupId=console-consumer-53726] Error while fetching metadata with correlation id 2 : {fullfillment.public.boxes=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)

现在,当我重新启动 Kafka Connect Debezium 时,一切正常,没有错误,cdc 工作正常。

我现在想弄清楚为什么我必须重新启动 Kafka Connect 才能正常工作,希望可以避免这种情况。如果需要更多信息,我很乐意提供更多信息。

您必须重新启动 worker 才能在安装连接器插件时使用它。除此之外,连接器无需重新启动 Connect worker 即可工作。

就是你看到的WARN,表示任务继续执行。 LEADER_NOT_AVAILABLE 通常在创建新主题时看到 - 然后随后创建(如果您连续看到 LEADER_NOT_AVAILABLE 并且它没有停止,则表明该主题尚未自动创建,您可能需要手动创建)。