1、环境

  • Kafka 版本:2.2.1-cdh6.3.0
  • Java 版本: oracle jdk 1.8

2、常用命令

2.1、查看Kafka 版本

$ kafka-topics --version

2.2、创建 topics

$ kafka-topics --create --bootstrap-server ky-node1:9092   --replication-factor 1 --partitions 1

2.3、描述 topics

$ kafka-topics --describe --bootstrap-server ky-node1:9092  --topic test-kafka-01

2.4、查看 list

$ kafka-topics --list  --bootstrap-server ky-node1:9092

2.5、生产数据

$ kafka-console-producer --topic test-kafka-01 --broker-list ky-node1:9092

2.6、实时消费数据

$ kafka-console-consumer  --topic test-kafka-01  --bootstrap-server ky-node1:9092

2.7、指定消费位置提取数据

$ kafka-console-consumer --topic test-kafka-01 --bootstrap-server ky-node1:9092 --from-beginning  1 2 --partition 1 --max-messages 1

2.8、修改 topic 的 data 过期时间

$ kafka-configs --zookeeper ky-node1:2181 --entity-type topics  --entity-name test-kafka-01 --alter  --add-config retention.ms=86400000

2.9、查看消费组堆积数量

(1)获取所有的消费组
$ kafka-consumer-groups --bootstrap-server ky-node1:9092 --list

(2)查询某个消费组的消费情况
$ kafka-consumer-groups --bootstrap-server ky-node1:9092 --describe --group consumer_group-test-kafka-01

2.10、删除 topic(如果要彻底删除topic,则需要到znode上把元数据删掉)

$ kafka-topics --delete --topic test-kafka-01  --zookeeper ky-node1:2181

2.11、增加 topic 分区

$ kafka-topics --alter --bootstrap-server ky-node1:9092 --topic test --partitions 6

2.12、kafka-run-class 使用

(1)查看每个Partition的最新偏移量
$ kafka-run-class kafka.tools.GetOffsetShell --broker-list ky-node1:9092 --topic test --time -1

(2)查看每个Partition的最早的偏移量
$ kafka-run-class kafka.tools.GetOffsetShell --broker-list ky-node1:9092 --topic test --time -2

(3)查看consumer组内消费的offset
$ kafka-run-class kafka.tools.ConsumerOffsetChecker --zookeeper ky-node1:2181 --topic test

PS:以上 shell 操作可以使用 Yahoo 开源工具 ​​Kafka-manager​​ 替换。

3、参考