当前位置: 首页 > 知识库问答 >
问题:

Kafka主题中的消息数

谯阳伯
2023-03-14

我需要一个Kafka主题存储的消息数量。这与任何消费者是否消费了消息无关。

kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092,localhost:9093,localhost:9094 --topic test-topic

以上是否等于Kafka主题中当前存储的消息数?

共有1个答案

马凡
2023-03-14

不完全是。您得到的数字仅指所有主题分区的当前最大偏移量。消息计数还取决于该主题的分区的开始偏移量。

你可以跑

kafka-run-class.sh kafka.tools.getoffsetshell--broker-list localhost:9092,localhost:9093,localhost:9094--topic test-topic--time-1

kafka-run-class.sh kafka.tools.getoffsetshell--broker-list localhost:9092,localhost:9093,localhost:9094--topic test-topic--time-2

并通过从endOffsets中减去beginningOffsets来计算每个分区的消息计数,然后将它们相加得到该主题的总记录计数。

 类似资料:
  • 我正在测试Kafka主题的工作,但我不明白删除是如何工作的。 我创建了一个简单的主题 在此之后,我创建了一个生产者,并发送了一些消息。消费者没有问题地接收到消息。但我预计,一分钟后,如果重复了消费者,它不会显示消息,因为它们肯定已经被删除了。但这种行为不会发生。 如果我用ksql创建一个查询,那也是一样的。消息总是会出现。 我想我不明白删除是怎么回事。 3)制作人留言 4)消费者 消费者会显示这四

  • 我使用的是0.9.0.0版本的Kafka,我想在不使用管理脚本Kafka-console-consumer.sh的情况下计算主题中的消息数。 我已经尝试了答案Java“How to get number of messages in a topic in apache kafka”中的所有命令,但都没有结果。有人能帮我吗?

  • 因此,我是使用Apache Kafka的新手,我正在尝试创建一个简单的应用程序,以便我可以尝试更好地理解API。我知道这个问题在这里被问了很多,但是我该如何清除存储在主题上的消息/记录? 我看到的大部分回答都是说更改消息保留时间或者删除

  • 我看过与此相关的类似问题,但并没有找到正确的答案。我只想从 Kafka 主题中删除消息,而不是更改保留超时。我已经安装了kafka_2.11-0.8.2.1,并使用蝙蝠文件在Windows上运行它。我想知道我是否可以删除主题中发布的所有消息,而不删除整个主题。

  • 在kafka中,我在中将保留策略设置为3天 主题将设置为(48h)。 但是,文件夹/tmp/kafka-logs中仍然有旧数据,并且没有任何数据被删除。我等了几个小时才换了那些房产。