如何使用单个kafka命令列出所有组中的所有主题以及每个主题中的消息总数?

时间:2017-12-15 10:01:27

标签: apache-kafka

我尝试列出所有群组ID中的所有主题,每个主题中的消息总数但无法在任何地方找到此类命令。尝试了以下2个命令,但期望在单个命令中执行以下命令的结果。请帮忙。

命令1 :(列出Kafka服务器中的所有主题)

<Socket name="SysLogAppender" host="localhost" port="514" protocol="UDP">
    <PatternLayout pattern="&lt;%level{TRACE=7, DEBUG=7, INFO=6, WARN=4, ERROR=3, Fatal=0}&gt;%d{MMM d hh:mm:ss} ${hostName} %m%n"/>
</Socket>

命令2 :(知道Kafka服务器中主题中的总消息数)

<3>Dec 15 09:59:16 foo.bar.hostname this is a test message

1 个答案:

答案 0 :(得分:2)

我从未听说过可以做你想做的kafka命令。但是,您可以使用基本shell脚本来实现此目的。该命令应该完成这项工作:

./bin/kafka-topics.sh --zookeeper localhost:2181 --list | while read x; do ./bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic $x --time -1; done

在Linux上运行kafka 0.10.2进行测试。