无法使用 zookeeper CLI 获取 kafka 消费者组的偏移信息

Not able fetch offset info for kafka consumergroup using zookeeper CLI

我正在使用 Zookeeper

我正在使用 zookeeper CLI 获取给定消费者组的 Offset 信息。

以下工作正常

Command: get /consumers/[ConsumerGroup]/offsets/[TopicName]

o/p : 
0:1640002
cZxid = 0x304ca036d
ctime = Fri Dec 23 17:29:30 UTC 2016
mZxid = 0x30af96e80
mtime = Fri Feb 24 19:15:00 UTC 2017
pZxid = 0x304ca036d
cversion = 0
dataVersion = 113179
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 9
numChildren = 0

但是下面一个不行

command: get /consumers/[Same_Consumer_Group]/offsets/[Same_Topic_Name]/0

o/p:Node does not exist: /consumers/[Same_Consumer_Group]/offsets/[Same_Topic_Name]/0

所以当我尝试使用 PARTITION_ID 获取偏移信息时,它不起作用。

注意第一个命令显示 0:1640002,这意味着分区 0 中的偏移量为 1640002。 请帮我解决这个问题

Zookeeper 本质上是一棵树,numChildren = 0 表示

/consumers/[ConsumerGroup]/offsets/[TopicName] 

是一个叶节点,因此当您尝试获取它的(不存在的)子节点时,您会遇到错误。

根据 Kafka 0.8 的 https://cwiki.apache.org/confluence/display/KAFKA/Kafka+data+structures+in+Zookeeper,偏移量存储在 Zookeeper 中的方式是

/consumers/[ConsumerGroup]/offsets/[TopicName] 

本身不包含任何数据,而是可以在子节点中找到偏移量

/consumers/[ConsumerGroup]/offsets/[TopicName]/[Partition]

但是,由于这显然不是你的情况,我假设你正在使用一些旧版本的 Kafka 或者(对于某些版本的 Kafka)用于单个分区主题,额外的树中的级别未创建。

但在我看来,所有这些都不应该真正让您担心。 查看您 post 编辑的输出,您似乎有一个包含 1 个分区的主题,并且该分区内特定消费者组的偏移量是 1640002。这就是您需要的所有偏移量信息,不是吗?

现在如果主题有超过 1 个分区,那么可能会发生一些奇怪的事情。

如果您认为仍有问题,post您的 Kafka 和 Zookeeper 版本以及评论中主题中的分区数。

如果有帮助请告诉我。