如何在 Apache Kafka-Connect 服务器中重置源连接器偏移量

问题描述

从 Kafka 连接中删除源连接器后,为该连接器保存的偏移量仍然存在于 Kafka 中。 当具有相同名称的相同连接器再次启动时,它将从上次保存的偏移量开始处理数据。 更改连接器的名称不是解决方案,因为它很难自动提交连接器。

是否有解决此问题的方法重命名源连接器不是一个选项)

解决方法

消费Connect使用的offsets topic;它是 JSON,因此您可以检查其格式。

构造一系列消息,将源的偏移量设置为 0

有关使用 FileStreamSource 的完整示例,see this post

还有一个 KIP-199 和 JIRA 一直在要求解决此问题,还要求删除源连接器应删除其偏移量。

,

我发现,如果您知道 Kafka 连接器正在使用的主题,这可能会起作用:Kafka : Reset offset of a specific partition of topic,这里是另一个可能有帮助的参考:https://gist.github.com/marwei/cd40657c481f94ebe273ecc16601674b

我想我遇到了类似的问题,我所做的是删除以 offset 开头的主题,这意味着我必须停止 Kafka Connect,删除适用的 offset 主题,然后重新启动 Kafka Connect。不确定这是否是最佳选择,但这里有一些选项可满足您的要求。

,

为 kafka-connect 连接器重置消费者组的偏移量。所有连接器的消费者群体都不同 - 所以应该没问题,不会影响任何其他连接器。