2017-08-03 44 views

回答

0

KafkaConsumer API提供的接口可以帮助您。有beginningOffsets(Collection<TopicPartition> partitions)endOffsets(Collection<TopicPartition> partitions)。您可以针对主题中的所有分区调用这些方法,然后查找每个主题分区的结束偏移量和起始偏移量之间的差异。然后聚合所有主题分区。这应该会为您提供主题中的消息数量。 (reference

1

什么瓦希德sayd可能是一个解决方案,但你也可以使用下面的一个:

bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic --time -1 

,那么你必须要总结的计数值。

无论如何,如果日志压缩处于活动状态,请考虑我的和vahid解决方案不起作用,因为在这种情况下,偏移量之间可能存在一些“间隙”,因此只计算差异并不能为您提供消息的数量。

相关问题