温馨提示×

Ubuntu下Kafka为何启不来

小樊
44
2026-07-07 12:18:13
栏目: 智能运维

Ubuntu 下 Kafka 启动失败,原因很多,下面按最常见 → 较少见的顺序给你排查思路,并给出对应解决办法。你可以对照看,也可以把报错贴出来我帮你精确定位。


一、最常见原因(90%问题在这里)

1️⃣ Java 没装或版本不对

Kafka 必须依赖 Java

java -version

✅ 推荐版本:

  • Java 8 / 11 / 17(Kafka 3.x 推荐 11+)

❌ 如果提示 command not found,说明没装:

sudo apt update
sudo apt install openjdk-11-jdk

验证:

java -version

2️⃣ Zookeeper 没启动(老版本 Kafka)

如果你用的是 Kafka 2.x 或 3.x(未启用 KRaft)

必须先启动 Zookeeper,再启动 Kafka

启动 Zookeeper

cd kafka
bin/zookeeper-server-start.sh config/zookeeper.properties

再启动 Kafka

bin/kafka-server-start.sh config/server.properties

✅ 如果 Zookeeper 没启动,Kafka 会直接失败。


3️⃣ 配置文件路径或内容错误

常见错误:

  • server.properties 路径不对
  • log.dirs 目录不存在或无权限

检查配置

cat config/server.properties | grep log.dirs

确保目录存在:

mkdir -p /tmp/kafka-logs

4️⃣ 端口被占用(非常常见)

Kafka 默认端口:

  • 9092
  • Zookeeper:2181

检查端口:

sudo netstat -tulnp | grep 9092

如果被占用:

sudo kill -9 PID

或修改 server.properties

listeners=PLAINTEXT://:9093

二、Ubuntu 特有常见问题

5️⃣ 权限不足

如果你用 root 解压,普通用户启动会失败。

解决:

sudo chown -R $USER:$USER kafka/

6️⃣ 内存不足(Java OOM)

Kafka 默认 JVM 内存较大,服务器内存小会启动失败。

修改内存

编辑:

bin/kafka-server-start.sh

找到:

export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"

改成:

export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"

三、KRaft 模式(Kafka 3.x 新方式)

如果你用的是 Kafka 3.x 且不用 Zookeeper

1️⃣ 必须初始化集群

bin/kafka-storage.sh random-uuid
bin/kafka-storage.sh format -t <UUID> -c config/kraft/server.properties

2️⃣ 启动 Kafka

bin/kafka-server-start.sh config/kraft/server.properties

四、快速定位错误(最重要)

✅ 看启动日志

tail -n 100 logs/server.log

或前台启动看报错:

bin/kafka-server-start.sh config/server.properties

五、我可以帮你精确定位

你可以直接把下面信息发我:

  1. Kafka 版本
  2. Ubuntu 版本
  3. 启动命令
  4. 完整报错信息(最关键)

我可以一步一步帮你把 Kafka 跑起来 ✅

0