Apache Kafka -重置最后一次看到的分区纪元.为什么?



我们使用Kafka Mirror Maker Version 1在Kafka集群之间镜像数据。我知道MM1已经被弃用了,但它确实是一个可靠的软件,可以满足我们的需求。我们在一个独立于我们存储数据的集群(现在运行的是Kafka 2.6版本)的专用Kafka安装中使用它。

我们使用Kafka 2.7。为"MirrorMaker-Kafka"最近更新了这个3.3.1。从那时起,我们在MM日志中有很多以下消息:

2022-12-01 15:07:45,368 INFO Metadata - [Producer clientId=*****] Resetting the last seen epoch of partition MyTopic-5 to 87 since the associated topicId changed from null to c59OzubzRAO-yhA72TSFEw
2022-12-01 15:12:45,373 INFO Metadata - [Producer clientId=*****] Resetting the last seen epoch of partition MyTopic-5 to 87 since the associated topicId changed from null to c59OzubzRAO-yhA72TSFEw
2022-12-01 15:22:45,388 INFO Metadata - [Producer clientId=*****] Resetting the last seen epoch of partition MyTopic-5 to 87 since the associated topicId changed from null to c59OzubzRAO-yhA72TSFEw
2022-12-01 15:37:45,394 INFO Metadata - [Producer clientId=*****] Resetting the last seen epoch of partition MyTopic-5 to 87 since the associated topicId changed from null to c59OzubzRAO-yhA72TSFEw
2022-12-01 15:42:45,398 INFO Metadata - [Producer clientId=*****] Resetting the last seen epoch of partition MyTopic-5 to 87 since the associated topicId changed from null to c59OzubzRAO-yhA72TSFEw

正如您所看到的,消息每5分钟重复一次。我们镜像了几百个分区,并记录了许多(可能是所有)分区的消息。

我发现这个消息是在这次提交的KAFKA-12257修复中引入的。

不幸的是,这条信息的意思我不清楚。每隔一段时间不断的重复也让我很好奇。可能我的(Producer)配置还有弱点。

如果有人能解释这一现象,并知道我可以采取什么措施来改善它,我将非常高兴。

你看到的消息与KAFKA-12257修复有关,这是为了解决生产者客户端无法正确跟踪主题分区纪元的问题。具体来说,该修复确保生产者客户端能够通过将唯一标识符("topicid")与分区关联来跟踪分区的epoch。

在您的示例中,消息每5分钟记录一次,因为生产者客户端正在将特定分区(MyTopic-5)的最后一次看到的epoch重置为87,因为关联的topicId从null更改为c59OzubzRAO-yhA72TSFEw。

为了确保生产者能够正确地跟踪分区的epoch,您应该检查您的生产者配置,并确保"topicid"设置正确。此外,您还应该确保您的生产者客户端配置为正确处理分区重新分配事件,因为这可能导致topicId更改。

最后,如果你仍然有生产者客户端不能正确跟踪分区纪元的问题,你可能需要考虑升级到一个新版本的Kafka Mirror Maker,因为MM1现在已经被弃用了。

可能是您正在使用的没有访问您的主题的消费者组Id,请检查kafka日志

最新更新