在老版本中,可以使用kafka-run-class.sh 脚本查看消费情况。但是对于最新版本,kafka-run-class.sh 已经不能使用,必须使用另外一个脚本才行,它就是kafka-consumer-groups.sh。

普通版:使用以下命令查看所有组:

```

$ ./kafka-consumer-groups.sh --bootstrap-server --list

```

执行输出:这些组是在程序代码里面定义的,比如usercenter就是一个业务模块。

查看消费情况:使用以下命令查看指定组的消费情况:

```

$ ./kafka-consumer-groups.sh --bootstrap-server --describe --group <组名>

```

参数解释:

- --describe:显示详细信息

- --bootstrap-server:指定kafka连接地址

- --group:指定组。注意,--group指定的组必须存在才行!可以用上面的--list命令来查看。

执行输出:指定自己的分组,自己消费的topic会显示kafka总共有多少数据,以及已经被消费了多少条。标记解释如下:

- TOPIC:主题名称

- PARTITION:分区号

- CURRENT-OFFSET:当前偏移量

- LOG-END-OFFSET:日志结束偏移量

- LAG:滞后数(未消费的数据条数)

- CONSUMER-ID:消费者ID

- HOST:主机名

- CLIENT-ID:客户端ID

如果kafka启用了acl权限验证,则不能直接使用上面的命令查看,需要增加参数--command-config参数才行。此参数必须要指定一个配置文件才行。修改默认的配置文件最后一行增加2行,表示指定SASL协议连接。

查看所有组的命令如下:

```bash

$ ./kafka-consumer-groups.sh --bootstrap-server --list --command-config <配置文件路径>

```