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

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

1. 创建Topic

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

核心参数:

  • --topic:Topic名称
  • --partitions:Partition数量
  • --replication-factor:副本数量
  • --bootstrap-server:Kafka Broker地址

例如创建一个3分区的订单Topic:

order-topic
├── Partition 0
├── Partition 1
└── Partition 2

2. 查看所有Topic

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

输出:

order-topic
user-topic
payment-topic

这是开发环境中最常用的命令之一。

3. 查看Topic详细信息

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

可以看到:

Topic: order-topic
PartitionCount: 3
ReplicationFactor: 1

Partition: 0
Leader: 0
Replicas: 0
Isr: 0

重点关注:

  • Partition数量
  • Leader
  • Replicas
  • ISR

ISR异常通常是排查Kafka副本同步问题的重要入口。

4. 修改Topic分区数

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

例如:

原来:3个Partition

P0
P1
P2

扩容后:6个Partition

P0
P1
P2
P3
P4
P5

注意:Kafka只能增加Partition,不能直接减少Partition。

5. 删除Topic

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

生产环境删除Topic需要特别谨慎。

可以先确认:

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

再执行删除。

6. 生产消息
使用 kafka-console-producer.sh

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

然后输入:

order-1001
order-1002
order-1003

Kafka会把这些消息发送到 order-topic

这是开发和测试Kafka生产消息最常用的命令

7. 消费消息

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

启动后会持续消费新消息。

例如:

order-1001
order-1002
order-1003

适合实时查看Topic中的新消息。

8. 从头开始消费消息
如果希望从Topic最早的消息开始消费:

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

这个命令在开发测试、消息丢失排查、历史消息验证时非常常用。

例如:

Kafka Topic
│
├── order-001
├── order-002
├── order-003
├── order-004
└── order-005
        ↓
--from-beginning
        ↓
从第一条消息开始消费

9. 查看Consumer Group

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

例如:

order-service-group
payment-service-group
user-service-group

Consumer Group是Kafka实现消费组、负载均衡、Offset管理的核心机制。

10. 查看Consumer Group消费情况

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

典型输出:

TOPIC        PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG
order-topic  0          1000            1050            50
order-topic  1          1200            1200            0
order-topic  2          900             1000            100

评论交流
    说说你的看法