如何在没有shell的情况下获取Kafka 0.10.x中的当前偏移量?

时间:2017-01-17 08:58:05

标签: apache-kafka kafka-consumer-api

有没有办法在Kafka 0.10.x中获得当前偏移量?我不想使用shell命令。

当我使用API​​ consumer.endOffsets(...)时,我可以获得最后的偏移量(logSize)。但是consumer.position(...)没有得到我当前的偏移量!

总而言之,我想在一个分区中获得当前偏移量,日志大小和滞后。

1 个答案:

答案 0 :(得分:0)

您可以使用KafkaConsumer#committed()获取最新的承诺位置。因此,我禁用自动提交并进行手动提交,您可以在每次提交时计算确切的延迟。

另一方面,您处理的每条记录都通过ConsumerRecord#offset()提供其偏移量,因此,您还可以在读取单个记录(记录的分区)后计算延迟。