我们正在使用Kafka 2.10和zookeeper 3.4。 关于http://kafka.apache.org/08/documentation.html#distributionimpl的信息,我试图查找组ID,主题分区的偏移量,但发现偏移量为空: ls / consumers / test6 / offsets / ViewerLogs / 0 --->返回[]
有关如何访问该值的任何建议吗?
由于
答案 0 :(得分:4)
要获取偏移值,请在zookeeper中运行命令get / consumers / test6 / offsets / ViewerLogs / 0
答案 1 :(得分:1)
看一下这个文件:
https://cwiki.apache.org/confluence/display/KAFKA/Kafka+data+structures+in+Zookeeper
因此,偏移量将存储在Zookeeper中:
/ [clusterBasePath] / consumers / [groupId] / offsets / [topic] / [partitionId] - >长(抵消)
如果该znode为空,则可能意味着您的使用者组尚未拥有分区(决定从分区到使用者的映射)。
要查看使用者组中的当前分区所有者,请查看:
/ [clusterBasePath] / consumers / [groupId] / owners / [topic] / [partitionId] - > string(consumerId)
从个人经验来看,最常见的原因是您的消费者群体由于超时而无法拥有分区。在您的使用者配置中,您可能希望尝试将rebalance.max.retries增加到类似50(或更高)和rebalance.backoff.ms到类似5000.同样,检查您的Zookeeper会话超时并在必要时增加它们。
根据您正在使用的消费者(您是否正在使用消费者群体?),您也可能不会将您的抵消权交给Zookeeper(如果您不太在意,这是可以的。容错)。在这种情况下,您将无法在Zookeeper中找到偏移量,并且需要直接从您的消费者那里获取它们。