Apache zookeeper 在Zookeeper客户端中,如何查找组id/主题的偏移量?

Apache zookeeper 在Zookeeper客户端中,如何查找组id/主题的偏移量?,apache-zookeeper,apache-kafka,Apache Zookeeper,Apache Kafka,我们正在使用卡夫卡2.10和zookeeper 3.4。 根据有关的信息,我试图查找组id、主题分区的偏移量,但发现偏移量为空: ls/consumers/test6/offset/ViewerLogs/0--->返回[] 有没有关于如何获取该值的建议 谢谢请查看此文档: 因此,偏移量将存储在Zookeeper中: /[clusterBasePath]/consumers/[groupId]/offset/[topic]/[partitionId]>long(offset) 如果znode为空

我们正在使用卡夫卡2.10和zookeeper 3.4。 根据有关的信息,我试图查找组id、主题分区的偏移量,但发现偏移量为空: ls/consumers/test6/offset/ViewerLogs/0--->返回[]

有没有关于如何获取该值的建议


谢谢

请查看此文档:

因此,偏移量将存储在Zookeeper中:

/[clusterBasePath]/consumers/[groupId]/offset/[topic]/[partitionId]>long(offset)

如果znode为空,则可能意味着您的使用者组尚未拥有分区(决定从分区到使用者的映射)

要查看使用者组中的当前分区所有者,请查看:

/[clusterBasePath]/consumers/[groupId]/owners/[topic]/[partitionId]->字符串(consumerId)

根据个人经验,最常见的原因是您的消费群体由于超时而无法拥有分区。在消费者配置中,您可能希望尝试将rebalance.max.retries增加到50(或更高)左右,并将rebalance.backoff.ms增加到5000左右。此外,检查Zookeeper会话超时,必要时增加超时


根据您使用的消费者(是否使用消费者组?),也有可能您没有将偏移量提交给Zookeeper(如果您不太关心容错性,这是可以的)。在这种情况下,您将无法在Zookeeper中找到偏移量,需要直接从使用者处获取偏移量。

要获取偏移量值,请在Zookeeper中运行命令get/consumers/test6/offset/ViewerLogs/0

是否尝试连接Zookeeper cli以查看输出?2.10也不是卡夫卡版本,它说明了这个卡夫卡是用哪个版本的scala构建的。卡夫卡的最新稳定版本是0.8.1.1(可能)。对不起,我不确定我是否理解您所说的“查看输出是什么”的意思。你能解释一下吗。一旦服务启动,您就可以使用
ZOO\u ROOT/bin.zkCli.sh
脚本连接到它。。在这里阅读更多Thx,但我使用zkCli.sh进行了连接,这就是我能够进行“ls/consumers”等操作的原因。。。。。我已使用分区0的groupid运行使用者。尝试查看zookeeper从我的使用者提交的上一个偏移量中保存的偏移量。但是当我执行/consumers//offset//时,offset值显示为[]。它不应该是
/[topic]/[broker\u id-partition\u id]
,而应该是[topic]/[partition\u id]?信息太多了。我使用GroupID的高级消费者。在这一点上,我不是在现有组中添加消费者。我只是想验证zookeeper在使用新的组id启动HL消费者时的行为。您建议我可能没有向zzokeeper提交补偿。在高级消费者中,我是否必须显式地编写代码将偏移提交给zookeeper?感谢您的帮助。@FZF,高级使用者应该提交给Zookeeper,或者在较新版本的Kafka中,它可能会提交给u consumer_offsets主题(在较新版本的Kafka中,该主题取代了偏移存储的Zookeeper)。