首页 > 解决方案 > Debezium Kafka Connect 需要重新启动才能使 PostgreSQL cdc 工作

问题描述

我正在尝试使用 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"
  }
}

启动我的观察者后,我看到以下警告/错误:

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 才能使其工作,并希望它可以避免。如果需要更多信息,我很乐意提供更多信息。

标签: postgresqlapache-kafka-connectdebeziumchange-data-capture

解决方案


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

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


推荐阅读