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]