在 Debian 上运行 Kafka 报错的原因非常多,没有具体报错信息很难精准判断。下面我按「最常见原因 → 排查思路 → 典型报错示例」给你一个系统性的排查指南,你可以对照看是哪一种。
Kafka 必须依赖 JVM。
✅ 检查:
java -version
❌ 常见问题:
JAVA_HOME 没配置✅ 解决:
sudo apt update
sudo apt install openjdk-17-jdk
server.properties 或启动前:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
Kafka 2.8 之前 强依赖 Zookeeper。
✅ 检查:
ps aux | grep zookeeper
❌ 报错示例:
java.lang.IllegalStateException: Timed out waiting for connection to Zookeeper
✅ 解决:
bin/zookeeper-server-start.sh config/zookeeper.properties
Debian 默认可能开了 9092 / 2181。
✅ 检查:
ss -lntp | grep 9092
✅ 解决:
server.properties 里 listenersKafka 写 log 目录时经常权限不足。
❌ 报错示例:
org.apache.kafka.common.errors.KafkaStorageException:
Failed to acquire lock on file .lock
✅ 解决:
sudo chown -R kafka:kafka /opt/kafka
或你当前用户:
chmod -R 755 kafka-logs
Kafka 对 hostname 非常敏感。
✅ 检查:
hostname
cat /etc/hosts
✅ 建议:
127.0.0.1 localhost your-hostname
Debian 常用 systemd。
❌ 报错:
kafka.service: Main process exited, code=exited
✅ 查看详细:
journalctl -u kafka -xe
请贴出以下信息,我可以精准判断:
cat /etc/os-release
logs/server.logbin/kafka-server-start.sh config/server.properties
你可以直接把 报错贴出来。