温馨提示×

ubuntu kafka配置出错咋办

小樊
36
2026-08-17 19:31:20
栏目: 智能运维

Ubuntu 上 Kafka 配置出错很常见,原因也很多。为了更快帮你定位,我按最常见问题 → 排查步骤 → 常用配置示例来说明。你可以对照看看,也可以把具体报错贴出来


一、先确认基础环境

1️⃣ Java 是否正常

Kafka 依赖 Java:

java -version

✅ 建议:

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

如果没装:

sudo apt update
sudo apt install openjdk-11-jdk

二、最常见 Kafka 配置错误 & 解决办法

❌ 1. broker.id 冲突

报错示例:

java.lang.IllegalArgumentException: broker.id must be set

解决:

# server.properties
broker.id=0

每个 broker 必须唯一。


❌ 2. 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 ≠ 远程访问
  • 云服务器一定要用公网/内网 IP

❌ 3. Zookeeper 没启动或地址错

报错示例:

Connection refused

✅ 检查:

sudo netstat -tnlp | grep 2181

server.properties 中:

zookeeper.connect=localhost:2181

启动 Zookeeper(Kafka 自带):

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

❌ 4. 端口被占用

lsof -i:9092

解决方法:

  • 改端口
  • 或杀掉占用进程

❌ 5. 目录权限问题

报错示例:

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

四、快速测试 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

五、如果你愿意,我可以更精准帮你

你可以直接贴出:

  1. 完整报错信息
  2. server.properties 关键配置
  3. Ubuntu 版本
  4. Kafka 版本

我可以一步一步帮你改 ✅

0