从 Kafka 连接中删除源连接器后,该连接器保存的偏移量仍然存在于 Kafka 中。 当具有相同名称的相同连接器再次启动时,它将开始处理上次保存的偏移量中的数据。 更改连接器的名称不是解决方案,因为它很难自动提交连接器。
此问题有解决方法吗(重命名源连接器不是一个选项)
在 3.6.0 版本中,Kafka Connect 将添加本机支持,作为 KIP-875 的一部分,通过 REST API 重置接收器和源连接器的偏移量。
如果您运行的是 3.6.0 或更高版本,请首先向
/connectors/{name}/stop
端点发出 PUT 请求以停止(但不删除)连接器,然后通过向 /connectors/{name}/offsets
端点发出 DELETE 请求来重置其偏移量。
我发现,如果您知道 Kafka 连接器正在使用的主题,这可能会起作用:Kafka:重置主题特定分区的偏移量,这是另一个可能有帮助的参考:https://gist.github .com/marwei/cd40657c481f94ebe273ecc16601674b
我想我也遇到过类似的问题,我所做的就是删除以 offset 开头的主题,这意味着我必须停止 Kafka Connect,删除适用的 offset 主题,然后重新启动 Kafka Connect。不确定这是否是最佳选择,但这里有一些可满足您要求的选项。
重置 kafka-connect 连接器的消费者组的偏移量。所有连接器的消费者组都是不同的 - 所以应该没问题并且不会影响任何其他连接器。