Debian Kafka故障排查常用方法
一 快速定位流程
二 常见故障与处理要点
| 症状 | 快速检查 | 处理要点 |
|---|---|---|
| Broker 无法启动 | 查看server.log;检查log.dirs是否存在且可写;核对zookeeper.connect或 KRaft 配置;排查9092端口占用;检查磁盘空间与Java版本 | 创建缺失目录并修正权限;释放或更换端口;修复配置;清理磁盘或扩容;使用受支持的 Java 版本 |
| 客户端连不上或超时 | 核对advertised.listeners与客户端地址;测试9092连通与防火墙;查看 Broker 日志中的连接拒绝/超时 | 使客户端地址与advertised.listeners一致;开放端口或调整安全策略;必要时调整网络/重试 |
| 消息堆积/消费滞后 | 用kafka-consumer-groups.sh --describe查看LAG;检查消费者实例数与分区数匹配;评估处理耗时 | 增加消费者实例(不超过分区数);优化消费逻辑;按需增加分区提升并行度 |
| 高延迟/吞吐上不去 | 观察CPU/磁盘 I/O/网络;检查batch.size、linger.ms、compression.type;查看网络丢包/重传 | 适度增大批次与 linger;开启压缩;优化网络与存储;必要时扩容 Broker/磁盘 |
| 数据丢失风险 | 核对acks=all、min.insync.replicas、retries;确认replication.factor足够 | 提升acks与min.insync.replicas;开启幂等生产者;合理设置重试与副本数 |
三 关键命令与工具清单
四 性能瓶颈定位与优化
五 维护与变更的最佳实践