Debian 上 Kafka 起不来,原因非常多,下面我按最常见 → 较少见帮你系统排查一遍。你对着看基本能定位。
Kafka 起不来 一定要看日志,不要盲猜:
# Kafka 自己的日志
tail -n 100 /opt/kafka/logs/server.log
# 如果是 systemd
journalctl -u kafka -n 100
把报错贴出来,比描述“起不来”有用 10 倍。
Kafka 必须依赖 Java:
java -version
解决:
apt install openjdk-17-jdk
并设置:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
如果你用的是 Kafka 2.x / 3.0–3.3:
# 必须先启动 Zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties
# 再启动 Kafka
bin/kafka-server-start.sh config/server.properties
如果 Zookeeper 没起,Kafka 会直接退出。
新版本默认 KRaft,但很多人还在用老配置:
bin/kafka-server-start.sh config/kraft/server.properties
bin/kafka-server-start.sh config/server.properties
搞混会起不来。
常见坑:
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://你的IP:9092
log.dirs=/var/lib/kafka-logs
错误示例:
log.dirs 目录不存在broker.id 重复(多个节点)检查:
ls -ld /var/lib/kafka-logs
ss -lntp | grep 9092
如果占用:
df -h
Kafka 对磁盘非常敏感,满了直接挂。
如果你用 systemd:
systemctl status kafka
常见错误:
JAVA_HOME 没在 service 文件里示例 service:
[Service]
User=kafka
Environment=JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
你可以一条条对:
你可以直接贴:
server.log 最后 30–50 行报错我可以直接告诉你哪一行导致起不来,怎么改。