Ubuntu 上 Kafka 配置出错很常见,原因也很多。为了更快帮你定位,我按最常见问题 → 排查步骤 → 常用配置示例来说明。你可以对照看看,也可以把具体报错贴出来。
Kafka 依赖 Java:
java -version
✅ 建议:
如果没装:
sudo apt update
sudo apt install openjdk-11-jdk
broker.id 冲突报错示例:
java.lang.IllegalArgumentException: broker.id must be set
解决:
# server.properties
broker.id=0
每个 broker 必须唯一。
listeners 配置错误(最常见)报错示例:
java.net.BindException: Address already in use
✅ 推荐配置(本地测试):
listeners=PLAINTEXT://localhost:9092
advertised.listeners=PLAINTEXT://localhost:9092
如果是服务器:
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://你的服务器IP:9092
⚠️ 注意:
localhost ≠ 远程访问报错示例:
Connection refused
✅ 检查:
sudo netstat -tnlp | grep 2181
✅ server.properties 中:
zookeeper.connect=localhost:2181
启动 Zookeeper(Kafka 自带):
bin/zookeeper-server-start.sh config/zookeeper.properties
lsof -i:9092
解决方法:
报错示例:
Failed to create data directory
✅ 解决:
sudo mkdir -p /tmp/kafka-logs
sudo chown -R $USER:$USER /tmp/kafka-logs
# 1. 启动 Zookeeper
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
# 2. 启动 Kafka
bin/kafka-server-start.sh -daemon config/server.properties
检查是否成功:
jps
应看到:
QuorumPeerMain
Kafka
# 创建 topic
bin/kafka-topics.sh --create \
--topic test \
--bootstrap-server localhost:9092 \
--partitions 1 \
--replication-factor 1
# 发送消息
bin/kafka-console-producer.sh \
--topic test \
--bootstrap-server localhost:9092
# 另一终端消费
bin/kafka-console-consumer.sh \
--topic test \
--from-beginning \
--bootstrap-server localhost:9092
你可以直接贴出:
server.properties 关键配置我可以一步一步帮你改 ✅