Kafka 在 Debian 上“报错”原因很多,最常见的并不是 Kafka 本身的问题,而是环境或配置问题。下面按出现频率给你一个排查清单 + 典型错误示例。
Kafka 依赖 JVM。
检查:
java -version
Kafka 3.x 推荐:
错误示例:
Error: Could not find or load main class kafka.Kafka
解决:
sudo apt install openjdk-11-jdk
并设置:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Kafka 不允许 root 运行。
错误示例:
ERROR [KafkaServer] current user is root
解决:
useradd kafka
su - kafka
Kafka 2.8 之前 必须 ZooKeeper。
错误示例:
Connection refused: zookeeper:2181
解决:
bin/zookeeper-server-start.sh config/zookeeper.properties
Debian 默认 hostname 解析容易出问题。
检查:
hostname
cat /etc/hosts
必须有一行:
127.0.0.1 your-hostname
否则会报:
Failed to resolve broker address
Debian 有时 9092 被占用。
ss -ltnp | grep 9092
这是新手最容易错的地方
server.properties:
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://你的IP:9092
❌ 错误写法:
advertised.listeners=PLAINTEXT://localhost:9092
(远程连不上)
错误示例:
No `meta.properties` found
解决:
bin/kafka-storage.sh format \
--config config/kraft/server.properties \
--cluster-id xxx
# 1. Java
java -version
# 2. 用户
whoami
# 3. 配置
grep listeners config/server.properties
# 4. 启动
bin/kafka-server-start.sh config/server.properties
如果你愿意,把完整报错贴出来,我可以直接告诉你是哪一条。
例如:
我可以直接给你针对性命令。