有的时候需要查看Kafka中某个topic的消息数量,当kafka是利用strimzi.io部署的时候,方式有点小变化
首先进入对应的pod
1
2
| # 进入pod
kubectl exec -it -n namespace kafka-kafka-0 kafka -- bash
|
[Optional]配置认证信息
1
2
3
4
5
6
| # 如SCRAM-SHA-512认证,新建consumer.properties文件并写入以下内容
cat << EOF > consumer.properties
security.protocol=SASL_PLAINTEXT
sasl.mechanism=SCRAM-SHA-512
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="username" password="password";
EOF
|
查看topic最大偏移
1
2
3
4
5
| # 查看topic的所有分区的最大偏移
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --command-config consumer.properties --topic <topic-name> --time -1
# 查看topic的所有分区的最小偏移
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --command-config consumer.properties --topic <topic-name> --time -1
|
最大偏移减去最小偏移即可得到该topic的消息总数