在 Debian 上安装 Kafka 报错很常见,但不同错误原因不同。我给你一个通用排查思路 + 常见错误及解决办法,你可以对照看看;如果还不行,把具体报错贴出来,我可以精准帮你分析。
Kafka 依赖 Java(推荐 Java 8 / 11 / 17)。
java -version
如果没有:
sudo apt update
sudo apt install openjdk-17-jdk -y
验证:
java -version
推荐方式(示例):
wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
tar -xzf kafka_2.13-3.6.1.tgz
cd kafka_2.13-3.6.1
⚠️ 不要用 apt 直接装 kafka(Debian 仓库里的版本很旧,容易出问题)
command not found / Permission denied原因
解决
cd kafka_2.13-3.6.1
chmod +x bin/*.sh
Address already in use
解决 查看端口:
sudo netstat -tulnp | grep 2181
sudo netstat -tulnp | grep 9092
杀掉进程:
sudo kill -9 <PID>
或修改端口:
config/server.properties
config/zookeeper.properties
NoClassDefFoundError / UnsupportedClassVersionError原因
解决
java -version
Kafka 3.x 推荐:
排查方法 查看日志:
cat logs/server.log
cat logs/zookeeper.log
常见原因:
server.properties 配置错误主机名问题(Debian 很常见)
hostname
在 /etc/hosts 中确认:
127.0.0.1 localhost
127.0.1.1 your-hostname
如果你是自己写的 systemd 服务文件,常见错误是:
ExecStart 路径不对JAVA_HOME 没设置示例(简化):
[Service]
Environment=JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
# 启动 Zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties
# 新终端启动 Kafka
bin/kafka-server-start.sh config/server.properties
# 创建 topic
bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
你可以直接把完整报错信息发出来,比如:
server.log 或 zookeeper.log我可以一步一步帮你修 ✅