Debezium Kafka Connect 需要重新启动才能使 PostgreSQL cdc 工作
Posted
技术标签:
【中文标题】Debezium Kafka Connect 需要重新启动才能使 PostgreSQL cdc 工作【英文标题】:Debezium Kafka Connect requires restart for PostgreSQL cdc to work 【发布时间】:2020-03-23 05:21:04 【问题描述】:我正在尝试使用 debezium kafka 进行 cdc 连接,并使用以下设置:
动物园管理员 卡夫卡 PostgreSQL Kafka Connect Debezium我也在按这个顺序配置和启动它们。
在启动 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 才能使其工作,并希望它可以避免。如果需要更多信息,我很乐意提供更多信息。
【问题讨论】:
你确定不重启Kafka Connect worker就不行吗?LEADER_NOT_AVAILABLE
通常在创建新主题时出现 - 然后随后创建。
很确定它没有,但是我确实尝试在完成设置后立即更新记录。会不会有某种形式的延迟?无论如何,我们明天再试一次,我会发布更新
所以你看到的只是WARN
,表示任务继续执行。如果您再次遇到这种情况,更详细地准确解释什么不起作用/症状是什么会很有用。
@RobinMoffatt 我们已经重新尝试从头开始设置所有内容,但没有遇到问题。感谢您的澄清。
很高兴它正在工作。如果您同意,我已经发布了一个答案供您接受,以便其他找到此帖子的人可以清楚地看到结果。
【参考方案1】:
您必须重新启动工作程序才能在安装连接器插件时选择它。除此之外,无需重新启动 Connect 工作程序即可使连接器正常工作。
您看到的只是WARN
,表示任务继续执行。 LEADER_NOT_AVAILABLE
通常在创建新主题时看到 - 然后随后创建(如果您连续看到 LEADER_NOT_AVAILABLE
并且它没有停止,则表明该主题尚未自动创建,您可能需要创建它手动)。
【讨论】:
以上是关于Debezium Kafka Connect 需要重新启动才能使 PostgreSQL cdc 工作的主要内容,如果未能解决你的问题,请参考以下文章
kafka connect debezium mongodb连接器无法加载
Kafka Connect Debezium postgres
如何将 kafka-connect-jdbc-5.5.0.jar 添加到 Debezium/connect
无法在启用 SSL 的 Kafka 集群中注册 Debezium (Kafka-Connect) 连接器