跳转至

诊断工具

查看 topic offset

最终的 offset

$ kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list ${BOOTSTRAP_SERVER} --time -1 --topic test

最早的 offset

$ kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list ${BOOTSTRAP_SERVER} --time -2 --topic test

指定客户端配置:--command-config conf/kafka.properties

读取 __consumer_offsets

$ kafka-console-consumer.sh --formatter "kafka.coordinator.GroupMetadataManager\$OffsetsMessageFormatter" --zookeeper ${ZK_CONNECT} --topic __consumer_offsets
$ kafka-console-consumer.sh --formatter "kafka.coordinator.group.GroupMetadataManager\$OffsetsMessageFormatter" --bootstrap-server ${BOOTSTRAP_SERVER} --topic __consumer_offsets

格式:

[Group, Topic, Partition]::[OffsetMetadata[Offset, Metadata], CommitTime, ExpirationTime]

分区规则:

Math.abs(groupID.hashCode()) % numPartitions

查看日志/索引文件

查看日志文件

$ kafka-run-class.sh kafka.tools.DumpLogSegments --files ./00000000000000283198.log --print-data-log

查看索引文件

$ kafka-run-class.sh kafka.tools.DumpLogSegments --files 0000000000000045.timeindex

查看请求使用的 API Version

$ kafka-broker-api-versions.sh  --bootstrap-server ${BOOTSTRAP_SERVER}

查看副本同步 lag

kafka-replica-verification.sh --broker-list ${BOOTSTRAP_SERVER}

kafka-replica-verification.sh --broker-list ${BOOTSTRAP_SERVER} --topic-white-list .*

获取 broker topic 分区实际目录分布

kafka-log-dirs.sh --bootstrap-server localhost:9092  --describe [--broker-list "0,1,2"] [--topic-list "t1,t2"]

查看特定 consumer-topic 消费信息(1.1.1 后不可用)

kafka-consumer-offset-checker.sh  --zookeeper $(hostname):2181 --group flume --topic live-log