当前位置:   article > 正文

kafka监控之kafka-run-class.sh

kafka-run-class: line 273

kafka自带了很多工具类,在源码kafka.tools里可以看到:

 

 

这些类该如何使用呢,kafka的设计者早就为我们考虑到了,在${KAFKA_HOME}/bin下,有很多的脚本,其中有一个kafka-run-class.sh,通过这个脚本,可以调用其中的tools的部分功能,如调用kafka.tools里的ConsumerOffsetChecker.scala,

 



 

 

 

$ kfka-run-class.sh kafka.tools.ConsumerOffsetChecker --zkconnect=192.168.199.129:2181,192.168.199.130:2181,192.168.199.131:2181 --group=group-1

 

执行结果如下:列出了所有消费者组的所有信息,包括Group(消费者组)、Topic、Pid(分区id)、Offset(当前已消费的条数)、LogSize(总条数)、Lag(未消费的条数)、Owner

 

细看kafka-run-class.sh脚本,它是调用 了ConsumerOffsetChecker的main方法,所以,我们也可以通过java代码来访问scala的ConsumerOffsetChecker类,代码如下:

  1. package com.wxj.kafka.monitor.jmx;
  2. import kafka.tools.ConsumerOffsetChecker;
  3. /**
  4. * kafka自带很多工具类,其中ConsumerOffsetChecker能查看到消费者消费的情况,
  5. * 只可惜,ConsumerOffsetChecker只是将信息打印到标准的输出流中
  6. * @author root
  7. *
  8. */
  9. public class RunClass
  10. {
  11. public static void main(String[] args)
  12. {
  13. //group-1是消费者的group名称,可以在zk中
  14. String[] arr = new String[]{"--zkconnect=192.168.199.129:2181,192.168.199.130:2181,192.168.199.131:2181","--group=group-1"};
  15. ConsumerOffsetChecker.main(arr);
  16. }
  17. }

 



 

 跟通过kafa-run-class.sh执行的结果是一样一样的

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/936760
推荐阅读
相关标签
  

闽ICP备14008679号