Debian系统下Kafka故障排查可按以下步骤进行:
检查服务状态
sudo systemctl status kafka和sudo systemctl status zookeeper确认服务是否运行。sudo systemctl restart kafka。查看日志文件
/var/log/kafka/目录,重点查看server.log,搜索ERROR或WARN关键词。验证配置文件
/etc/kafka/server.properties,确保listeners、advertised.listeners、zookeeper.connect等配置正确。log.dirs指向的磁盘空间充足,避免因磁盘不足导致故障。监控系统资源
top、htop查看CPU、内存占用,df -h检查磁盘空间,iostat监控磁盘I/O。log.flush.interval.messages参数。网络连通性测试
ping、telnet或nc测试Kafka节点间及客户端的网络连接,确保端口(默认9092)可达。JMX指标监控
cmdline-jmxclient)获取UnderReplicatedPartitions(未复制分区数)、RequestHandlerIdlePercent等指标,判断集群健康状态。UnderReplicatedPartitions持续大于0,可能存在网络分区或副本同步问题。高级诊断工具
jstack <kafka_pid>分析线程阻塞情况,查找BLOCKED状态的线程。jmap生成堆转储文件,用MAT工具排查内存泄漏。tcpdump抓取Kafka端口的网络包,分析通信异常。版本与兼容性
参考来源:[1,2,3,4,5,6,7,8,9,10,11]