Ubuntu 上 Kafka 故障排查实操手册
一 快速定位流程
二 常见故障与修复要点
| 现象 | 可能原因 | 快速修复 |
|---|---|---|
| 服务起不来 | 配置错误、目录无权限、端口被占用 | 核对 server.properties;chown/chmod 数据目录;用 netstat -tulpen |
| 无法远程生产/消费 | advertised.listeners 配置不当、防火墙/安全组阻断 | 将 advertised.listeners 设为客户端可达地址;开放 9092;用 nc 验证连通 |
| Zookeeper 会话过期/Controller 抖动 | ZK 压力大、会话超时过短 | 分离 ZK 与 Kafka 资源;适当增大 zookeeper.session.timeout.ms |
| 消息堆积 | 消费者性能不足、分区数不够、频繁再均衡 | 优化消费逻辑/并发;增加分区;减少再均衡(见下) |
| 数据丢失 | acks/副本策略不当、Leader 切换 | 生产者 acks=all、retries>0;Broker min.insync.replicas≥2 |
| 消费者重复消费 | 未提交 offset、自动提交间隔过长 | 处理完成后同步提交;或缩短 auto.commit.interval.ms |
| 发送超时/超时异常 | 网络差、请求处理慢、消息过大 | 增大 request.timeout.ms;启用压缩;合理调大 batch.size/linger.ms |
| 磁盘写满 | 保留策略过长、日志过大 | 缩短 log.retention.hours;必要时用 kafka-delete-records.sh 清理指定区间 |
三 关键配置与优化建议
四 常用命令清单
五 监控与进一步诊断