在 Ubuntu 下 Kafka 启动失败,原因很多,下面按最常见 → 较少见的顺序给你排查思路,并给出对应解决办法。你可以对照看,也可以把报错贴出来我帮你精确定位。
Kafka 必须依赖 Java。
java -version
✅ 推荐版本:
❌ 如果提示 command not found,说明没装:
sudo apt update
sudo apt install openjdk-11-jdk
验证:
java -version
如果你用的是 Kafka 2.x 或 3.x(未启用 KRaft):
必须先启动 Zookeeper,再启动 Kafka
cd kafka
bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties
✅ 如果 Zookeeper 没启动,Kafka 会直接失败。
常见错误:
server.properties 路径不对log.dirs 目录不存在或无权限cat config/server.properties | grep log.dirs
确保目录存在:
mkdir -p /tmp/kafka-logs
Kafka 默认端口:
检查端口:
sudo netstat -tulnp | grep 9092
如果被占用:
sudo kill -9 PID
或修改 server.properties:
listeners=PLAINTEXT://:9093
如果你用 root 解压,普通用户启动会失败。
解决:
sudo chown -R $USER:$USER kafka/
Kafka 默认 JVM 内存较大,服务器内存小会启动失败。
编辑:
bin/kafka-server-start.sh
找到:
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
改成:
export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"
如果你用的是 Kafka 3.x 且不用 Zookeeper:
bin/kafka-storage.sh random-uuid
bin/kafka-storage.sh format -t <UUID> -c config/kraft/server.properties
bin/kafka-server-start.sh config/kraft/server.properties
tail -n 100 logs/server.log
或前台启动看报错:
bin/kafka-server-start.sh config/server.properties
你可以直接把下面信息发我:
我可以一步一步帮你把 Kafka 跑起来 ✅