You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Kafka CLI查看Kafka主题与分区的事件/消息数量?

用Kafka CLI计算Topic/Partition的现存消息数量

核心逻辑

当前分区的现存消息数 = 分区最高偏移量(High Watermark) - 分区最低偏移量(Log Start Offset)—— 因为消息清理后起始偏移不为0,必须通过这个差值得到实际存在的消息数量。

具体操作

  1. 获取分区偏移量
    使用官方提供的GetOffsetShell工具(通过kafka-run-class.sh调用),一次性获取目标Topic所有分区的起始和最高偏移:
./kafka-run-class.sh kafka.tools.GetOffsetShell --bootstrap-server <你的Broker地址> --topic <目标Topic名> --time -2 --time -1
  • 参数说明:
    • --time -2:返回分区的最低偏移量(已清理消息后的起始位置)
    • --time -1:返回分区的最高偏移量(当前写入的最新位置)
  1. 批量计算消息数
    工具返回格式为topic:partition:offset,可以用awk脚本自动计算每个分区的消息数:
./kafka-run-class.sh kafka.tools.GetOffsetShell --bootstrap-server <你的Broker地址> --topic <目标Topic名> --time -2 --time -1 | awk -F: '{if (NR%2==1) start=$3; else print $1":"$2" 现存消息数: " $3 - start}'

额外说明

  • 部分旧版本Kafka可能附带kafka-get-offsets.sh,但兼容性不如GetOffsetShell,建议优先使用前者。
  • 若Kafka版本≥2.4,也可通过kafka-consumer-groups.sh --describe --all-groups查看偏移,但该工具依赖消费者组订阅记录,不如GetOffsetShell直接查询Broker数据可靠。

内容的提问来源于stack exchange,提问作者user2138149

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 21:19:57