Debian上Kafka故障排查实操手册
一 快速定位流程
二 关键命令与路径
ps aux | grep kafka、ps aux | grep zookeepertop/htoptail -f /var/log/syslog、journalctl -u kafka.service、dmesgkafka-topics.sh --bootstrap-server <broker:9092> --listkafka-topics.sh --bootstrap-server <broker:9092> --describe --topic <topic>kafka-consumer-groups.sh --bootstrap-server <broker:9092> --describe --group <group>nc -vz <host> 9092、telnet <host> 9092ss -lntp | grep :9092、lsof -iTCP:9092 -sTCP:LISTENtcpdump -i any -nn port 9092 -w kafka.pcap三 常见症状与处置要点
| 症状 | 优先检查 | 快速处置 |
|---|---|---|
| Broker无法启动 | log.dirs权限/磁盘空间、server.properties关键配置、JVM错误日志 | 修复目录权限/扩容磁盘;校正配置;查看/var/log/kafka/server.log与hs_err_pid*.log |
| 分区不可用/UnderReplicated | 集群controller日志、分区leader分布、磁盘/网络 | 通过--describe定位异常分区;恢复磁盘/网络;必要时优先恢复ISR副本 |
| 消息大量积压 | 消费者组滞后、客户端错误、分区数/并发度 | 用--describe --group查Lag;修复客户端异常;按需增加分区/消费者并发 |
| 生产/消费报错(超时/不可达) | listeners/advertised.listeners、网络连通、ACL/认证 | 校正监听器与advertised地址;打通网络与防火墙;核对安全配置 |
| 磁盘/IO异常 | iostat的IO.UTIL/AVG.WAIT、内核日志 | 迁移高IO负载、扩容磁盘、优化刷盘参数 |
| ZooKeeper会话异常 | ZK连接串、ZK日志、网络分区 | 核对zookeeper.connect;查看ZK日志与zkCli.sh状态;恢复网络 |
| 以上症状与处置要点覆盖生产环境中高频问题,可结合命令行与日志快速验证与恢复。 |
四 监控与长期预防
JMX_PORT=9999,使用jconsole/VisualVM连接查看BrokerTopicMetrics、请求耗时等关键指标。五 变更与回滚的安全做法