Debian 上 Kafka 崩溃(或频繁退出)通常不是 Kafka 本身的“bug”,而是环境、配置或资源问题。下面按最常见 → 次常见给你一个系统排查清单。
Kafka 很吃内存,尤其是 JVM 堆。
现象
dmesg 里有 Out of memory/var/log/kafka/ 日志突然中断检查
dmesg | grep -i oom
free -h
解决
/etc/kafka/server.properties 或 systemd 配置KAFKA_HEAP_OPTS="-Xms1G -Xmx1G"
Kafka 依赖 Zookeeper(老版本)或 KRaft(新版本)。
现象
Connection to Zookeeper lost
Session expired
检查
systemctl status zookeeper
ss -lntp | grep 2181
解决
Kafka 是磁盘型系统,磁盘满 = 必崩。
检查
df -h
du -sh /var/lib/kafka/*
解决
log.retention.hours=168
Debian 用 systemd,容易因限制被 kill。
检查
systemctl status kafka
journalctl -u kafka --no-pager
常见限制
LimitNOFILE=65536
LimitNPROC=4096
Kafka 对 Java 版本敏感。
推荐
检查
java -version
多节点时最容易崩。
broker.id=1 # 必须唯一
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://真实IP:9092
否则客户端连不上,Kafka 也可能异常。
# 1. 看 Kafka 日志
tail -n 100 /var/log/kafka/server.log
# 2. 看系统日志
journalctl -u kafka -n 100
# 3. 看是否被 kill
dmesg | grep -i kill
# 4. 看资源
free -h
df -h
你可以贴:
我可以直接告诉你是哪一行配置或环境导致崩的。