Kafka命令最全详解(2026最新版)

Kafka是大型架构核心,下面我详解Kafka命令@mikechen

1. 查看Kafka版本
查看当前Kafka版本信息。

kafka-topics.sh --version

输出:

3.8.0

适用场景:

  • 检查环境版本
  • 排查兼容性问题

2. 创建Topic
创建一个Topic。

kafka-topics.sh \
--create \
--topic order-topic \
--bootstrap-server localhost:9092 \
--partitions 3 \
--replication-factor 2

参数说明:

参数 说明
partitions 分区数
replication-factor 副本数

创建结果:

Created topic order-topic.

3. 查看所有Topic
列出集群中的所有Topic。

kafka-topics.sh \
--list \
--bootstrap-server localhost:9092

输出:

user-topic
order-topic
pay-topic

4. 查看Topic详情
查看Topic配置信息。

kafka-topics.sh \
--describe \
--topic order-topic \
--bootstrap-server localhost:9092

输出:

Topic: order-topic
PartitionCount: 3
ReplicationFactor: 2

可以查看:

  • 分区数
  • Leader
  • ISR
  • 副本分布

5. 删除Topic
删除Topic。

kafka-topics.sh \
--delete \
--topic order-topic \
--bootstrap-server localhost:9092

删除结果:

Topic order-topic marked for deletion.

6. 修改Topic分区数
增加Topic分区。

kafka-topics.sh \
--alter \
--topic order-topic \
--partitions 6 \
--bootstrap-server localhost:9092

注意:

Kafka只允许增加分区。

不允许:

6 → 3

7. 查看消费者组
查看当前所有消费者组。

kafka-consumer-groups.sh \
--list \
--bootstrap-server localhost:9092

输出:

order-group
user-group

8. 查看消费者组详情
查看消费情况。

kafka-consumer-groups.sh \
--describe \
--group order-group \
--bootstrap-server localhost:9092

输出:

TOPIC          PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG
order-topic    0         1000           1050           50

重点关注:

LAG

表示消息堆积量。

9. 重置消费位点(Offset)
将消费者重置到最早位置。

kafka-consumer-groups.sh \
--group order-group \
--reset-offsets \
--to-earliest \
--execute \
--all-topics \
--bootstrap-server localhost:9092

常用于:

  • 数据重放
  • 测试环境恢复

10. 启动生产者
进入生产者模式发送消息。

kafka-console-producer.sh \
--topic order-topic \
--bootstrap-server localhost:9092

输入:

order001
order002
order003

11. 启动消费者
消费消息。

kafka-console-consumer.sh \
--topic order-topic \
--from-beginning \
--bootstrap-server localhost:9092

输出:

order001
order002
order003

参数:

--from-beginning

表示从头消费。

12. 查看Broker API版本
查看Broker支持的协议版本。

kafka-broker-api-versions.sh \
--bootstrap-server localhost:9092

输出:

id:0 rack:null
ApiVersions:
Produce(0): 0 to 9
Fetch(1): 0 to 13

用途:

  • 排查客户端兼容性问题

13. 查看Topic消息数量
获取Topic Offset。

kafka-run-class.sh \
kafka.tools.GetOffsetShell \
--broker-list localhost:9092 \
--topic order-topic

输出:

order-topic:0:10000

表示:

Partition0 当前Offset=10000

14. 查看集群状态
查看Broker信息。

kafka-metadata-quorum.sh \
--bootstrap-server localhost:9092 \
describe --status

Kafka KRaft模式下输出:

ClusterId: abc123
LeaderId: 1

查看:

  • Controller Leader
  • Broker状态
  • 集群健康度

15. Leader重新选举
触发Leader重新选举。

kafka-leader-election.sh \
--bootstrap-server localhost:9092 \
--election-type preferred \
--all-topic-partitions

适用场景:

  • Broker恢复后
  • Leader均衡优化

16. 查看日志目录使用情况
查看Broker磁盘占用。

kafka-log-dirs.sh \
--bootstrap-server localhost:9092 \
--describe

输出:

{
 "broker":0,
 "logDirs":[
   {
      "logDir":"/data/kafka"
   }
 ]
}

用于:

  • 磁盘容量规划
  • 排查磁盘热点

Kafka命令分类汇总

分类 核心命令
Topic管理 create、list、describe、delete、alter
消费组管理 list、describe、reset-offsets
消息测试 producer、consumer
集群管理 metadata-quorum、leader-election
运维监控 log-dirs、broker-api-versions
Offset管理 GetOffsetShell

 

评论交流
    说说你的看法