我们已在 2 天前将消息推送到 kafka 队列中,保留期设置为 2 天,因此今天将过期。有没有什么方法可以准确地知道kafka队列何时为空/其中没有任何数据?
我是Hadoop系统的初学者,所以我不知道是否有任何命令可以找到这个/简单的方法来验证空队列
您可以使用
KafkaConsumer
平均 seekToEnd()
、seekToBeginning()
和 position()
编写自己的小工具来获取每个分区的最小和最大偏移量。如果两者都匹配所有分区,则该主题为空。
创建消费者后,在为其分配任何分区之前检查:
如果
consumer.position(topicPartition)
等于 consumer.endOffsets(List.of(topicPartition))
- 那么就没有什么可以消耗的。