温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。


Fayson的github:

​https://github.com/fayson/cdhproject​


提示:代码块部分可以左右滑动查看噢


1.文档编写目的



在我们的应用程序消费Kafka的Topic消息时,我们会关注Topic中消息总量以及消费情况,那接下来Fayson就主要介绍下如何在CDH集群中使用命令行的方式查看Topic的消费情况。


  • 本次Fayson的测试环境为

1.CM和CDH版本为5.15

2.Redhat7.4

3.Kafka 0.10.2+kafka2.2.0


2.命令行查看



在Kafka的脚本里提供了kafka-run-class.sh的脚本,使用该脚本查看Consumer组内消费Topic的Offset情况。


如何查看Kafka的Topic消费情况_hadoop


1.在命令行执行如下命令查看指定Topic及ConsumerGroup的消费情况


[root@cdh01 bin]# kafka-run-class kafka.tools.ConsumerOffsetChecker --zookeeper cdh01.fayson.com:2181 --group test --topic kafka_kudu_topic_offset_3


第一次执行查看到kafka_kudu_topic_offset_3的testgroup组各个Partition的Offset消费情况以及每个Partition的总消息量。


如何查看Kafka的Topic消费情况_hadoop_02


2.kafka_kudu_topic_offset_3的Topic发送600条消息,再次执行命令查看消费情况


如何查看Kafka的Topic消费情况_数据_03


此时没有消费的应用运行,可以看到Offset的数据未发生变化,而logSize的数据量有增加,每个partition的数量增加200条,刚好为我发送的消息数量。


3.启动消费程序消费Topic的消息,再次执行命令查看消费情况


如何查看Kafka的Topic消费情况_数据_04


在消费应用运行时,每个Partition的Offset数据发生变化,此时的Offset的数据与logSize的数据一致,在应用日志中也无新的消息接收,说明Topic的消息已被testgroup组消费完。


3.总结



查看某个Topic指定组的消息消费情况计算方式:


消费的消息量计算方式:

topic_partition1 offset + topic_partition2 offset +… + topic_partition_n offset


Topic总消息数量计算方式:

topic_partition1 logSize + topic_partition2 logSize +… + topic_partition_n logSize

未消费消息数量计算方式:

Topic总消息数量-消费的消息量



提示:代码块部分可以左右滑动查看噢


为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。



推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

如何查看Kafka的Topic消费情况_kafka_05

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操