Ubuntu 上 Kafka 故障排查与修复手册
一 快速定位流程
二 常见故障与修复对照表
| 症状 | 快速检查 | 修复建议 |
|---|---|---|
| 服务起不来 | systemctl status、journalctl、端口占用 | 释放端口(kill 占用进程)、修正配置路径/权限、检查内存 OOM 并调整 KAFKA_HEAP_OPTS |
| 端口被占用(9092/2181) | ss/lsof 查占用 | kill 冲突进程或调整 listeners/port 配置 |
| 无法远程连接 | 本机 telnet 成功、外机失败 | 开放防火墙 ufw allow 9092,2181;核对 listeners 与 advertised.listeners;云上放通安全组 |
| 生产者/消费者报错 | 控制台生产消费失败 | 核对 bootstrap.servers、Topic 存在、分区与权限;Zookeeper/KRaft 状态正常 |
| 磁盘写满/日志过大 | df -h、du -sh 数据目录 | 调整 log.retention.hours/bytes、启用压缩;配置 logrotate 轮转 |
| 高延迟/吞吐低 | iostat/htop、网络 ping/丢包 | 优化分区数与副本、调优批量/压缩/缓存;排查网络抖动与 GC |
| 版本/内存不兼容 | java -version、启动 OOM | 使用 OpenJDK 8;降低 -Xmx/-Xms 或扩容内存 |
| Zookeeper 不一致 | zkCli.sh ls /brokers/ids | 检查 ZK 集群健康、myid/配置一致,必要时重启异常节点 |
| KRaft 模式下无法启动 | 元数据不一致 | 核对 process.roles、node.id、controller.quorum.voters 一致性与目录权限 |
| 以上对照基于 Ubuntu 上 Kafka 的常见问题场景与处置要点整理。 |
三 关键配置与命令清单
四 监控与日志管理
五 最小可行修复示例