Kafka 重置工具 Consumer offset 未重置为零

Kafka reset tool Consumer offset not resetting to zero

我正在尝试了解一些基本的 Kafka 概念,以便我可以正确监控基于 KafkaStreams 的应用程序的进度。

特别是出于调试目的,我需要能够让我的应用程序重新使用整个主题。为此,我使用了 reset tool

执行脚本后,查看 Kafka 管理器的一些输入主题,我看到 Consumer Offset 减少了,Lag 增加了(这是有道理的)。尽管 Consumer Offset 不会归零。我正在尝试解释这一点,但我还没有找到 Kafka Manager 中 Consumer OffsetLogsize 所指内容的具体解释。

为了使其符合我所看到的,我假设 Logsize 是自主题开始以来放入主题的消息总数,但不一定是主题中当前的消息数量。因为有些可能因年龄超过保留期而被丢弃。我说得对吗?

如果不是,那么在 运行 一些输入主题的重置工具之后我观察到 Consumer Offset 等于 Logsize(并且不为零)并且 Lag 为零?

我对yahoo-kafka-manager不熟悉,不过你也可以使用bin/kafka-consumer-groups.sh(Kafka自带的工具)。 LOG-END-OFFSET 表示您所描述的内容。从命名的角度来看,我不清楚 Logsize 是否与 "log end offset" 相同或分区中最高和最低偏移量之间的差异。

After executing the script looking into the Kafka Manager for some inputs topics I see that the Consumer Offset has decreased and the Lag has increased.

这是有道理的——因为 "lag" 是 "log end offset" 和 "committed offset" 的区别,重置您的应用程序后延迟应该会增加。 但是,我不确定为什么承诺的消费者组偏移量不为零(您能否了解您使用 bin/kafka-consumer-group.sh 观察到的内容——也许 yahoo-kafka-manager 报告了不同的内容)。

更新:但是该工具不会将偏移设置为零,而是 "beginning of log"。 (文档不正确。)

另请注意,auto.offset.reset 策略可能会在您重置应用程序并重新启动它后生效(如果日志被截断,[committed] 偏移量 zero 可能无效).这可以解释您观察到的行为吗?

此博客 post 也可能有助于了解更多详细信息:https://www.confluent.io/blog/data-reprocessing-with-kafka-streams-resetting-a-streams-application/