温馨提示×

如何检查Kafka状态

小樊
45
2026-08-06 18:53:28
栏目: 大数据

检查 Kafka 状态通常分为 Kafka 自身状态Broker 状态Topic / 分区状态消费者状态 等几个层面。下面按常用方式 + 实战命令给你一个完整清单(以 Kafka 2.x / 3.x 为例)。


一、最基础:Kafka 进程是否运行

1️⃣ 检查 Kafka 进程

ps -ef | grep kafka

jps | grep Kafka

✅ 看到 Kafka 进程说明服务已启动。


二、检查 Broker 状态(最常用)

2️⃣ 查看 Broker 列表

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

或从 ZooKeeper(老版本):

zookeeper-shell.sh localhost:2181 ls /brokers/ids

✅ 返回 broker id 列表(如 [0,1,2])说明 Broker 正常。


三、检查 Topic 状态

3️⃣ 查看 Topic 列表

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

4️⃣ 查看 Topic 详细信息

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

✅ 关注:

  • Partition 数量
  • Replica
  • Leader
  • ISR(In-Sync Replicas)

示例:

Partition: 0  Leader: 1  Replicas: 1,2  Isr: 1,2

⚠️ 如果 ISR < Replicas → 有副本不同步


四、检查 Controller 状态

5️⃣ 查看 Controller Broker

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

或 ZooKeeper:

zookeeper-shell.sh localhost:2181 get /controller

✅ Controller 不存在 = Kafka 集群异常


五、检查消费者状态(非常重要)

6️⃣ 查看消费者组

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

7️⃣ 查看消费进度(是否堆积)

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

重点关注:

  • LAG ≠ 0 → 消息堆积
  • CURRENT-OFFSET
  • LOG-END-OFFSET

六、检查 Kafka 是否可正常收发消息

8️⃣ 发送测试消息

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

9️⃣ 消费测试消息

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

✅ 能收发说明 Kafka 正常


七、检查 Kafka 日志(排查问题)

10️⃣ 查看 Kafka 日志

tail -f /opt/kafka/logs/server.log

常见错误:

  • Broker may not be available
  • LEADER_NOT_AVAILABLE
  • OutOfMemoryError

八、检查系统资源(Kafka 很吃资源)

# CPU / 内存
top

# 磁盘
df -h

# 磁盘 IO
iostat -x 1

⚠️ Kafka 磁盘满了 = 直接不可用


九、Kafka 健康状态速查表 ✅

检查项 命令
进程 jps
Broker kafka-broker-api-versions.sh
Topic kafka-topics.sh --describe
消费者堆积 kafka-consumer-groups.sh
收发测试 console-producer / consumer
日志 server.log

十、常见问题快速判断

现象 可能原因
无法连接 broker 没启动 / 端口错误
ISR 不全 网络 / 磁盘慢
LAG 一直增长 消费端异常
topic 无法写入 leader 不存在
磁盘满 未清理日志

如果你愿意,可以告诉我:

  • Kafka 版本
  • 是否使用 ZooKeeper / KRaft
  • 是单机还是集群
  • 具体报错信息

我可以给你更精准的检查方案

0