首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查看Kafka主题的大小(以字节为单位

查看Kafka主题的大小(以字节为单位
EN

Stack Overflow用户
提问于 2017-04-18 21:30:44
回答 6查看 36.8K关注 0票数 18

对于指标,我们需要查看所有分区和代理上的Kafka主题的总大小(以字节为单位)。

我已经研究了很长一段时间,关于如何做到这一点,我还没有弄清楚这是否可能以及如何做到。

我们在Kafka的V0.82上。

EN

回答 6

Stack Overflow用户

发布于 2018-02-22 23:23:28

您可以使用脚本/bin/kafka-log-dirs.sh查看分区大小

代码语言:javascript
复制
/bin/kafka-log-dirs.sh --describe --bootstrap-server <KafakBrokerHost>:<KafakBrokerPort> --topic-list <YourTopic>
票数 31
EN

Stack Overflow用户

发布于 2018-06-15 18:29:45

正如Martbob非常有帮助地提到的,您可以使用kafka-log-dirs来完成此操作。这将生成JSON输出(在其中一行上)。因此,我可以使用非常有用的jq工具来拉出'size‘字段(有些是空的),只选择那些是数字的字段,将它们分组到一个数组中,然后将它们相加在一起。

代码语言:javascript
复制
kafka-log-dirs \
    --bootstrap-server 127.0.0.1:9092 \
    --topic-list 'topic_of_interest' \
    --describe \
  | grep '^{' \
  | jq '[ ..|.size? | numbers ] | add'

示例输出: 67704

我还没有验证输出是否有意义,所以您应该自己检查一下。

票数 17
EN

Stack Overflow用户

发布于 2020-09-28 21:02:55

对正则表达式和awk执行相同操作的另一种方法(如果您没有安装jq )是:

代码语言:javascript
复制
$ bin/kafka-log-dirs.sh \
  --bootstrap-server 127.0.0.1:9092 \
  --topic-list test \
  --describe \
  | grep -oP '(?<=size":)\d+'  \
  | awk '{ sum += $1 } END { print sum }'

这将返回包括其副本在内的主题test的大小(以字节为单位)。如果您有一个大于1的复制因子,并且您想要唯一主题消息的大小,请将您获得的值除以复制因子。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43473670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档