温馨提示×

ubuntu kafka配置如何排查

小樊
47
2026-09-11 12:25:56
栏目: 智能运维

在 Ubuntu 上排查 Kafka 配置问题,通常可以按「系统环境 → Kafka 配置 → 启动日志 → 网络端口 → 客户端验证」的顺序进行。下面给你一套实用排查思路。


一、基础环境检查

1. Java 环境

Kafka 依赖 Java:

java -version

推荐:

  • Kafka 2.x:Java 8
  • Kafka 3.x:Java 11 / 17

如果没装:

sudo apt install openjdk-11-jdk

2. Kafka 安装路径确认

常见路径:

  • /opt/kafka
  • /usr/local/kafka
  • ~/kafka

查看:

ls /opt/kafka

二、Kafka 核心配置文件排查

1. server.properties(最重要)

路径示例:

/opt/kafka/config/server.properties

重点检查项:

✅ broker.id

broker.id=0
  • 每个 broker 必须唯一

✅ listeners(最常见坑)

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://<服务器IP>:9092

⚠️ 注意:

  • advertised.listeners 必须是客户端能访问到的 IP
  • 不要用 localhost(除非本地测试)

✅ zookeeper.connect

zookeeper.connect=localhost:2181

Kafka 3.0+ 可用 KRaft,但老版本必须配 ZK


2. Zookeeper 配置(如使用 ZK)

/opt/kafka/config/zookeeper.properties

检查:

dataDir=/tmp/zookeeper
clientPort=2181

三、启动 Kafka 并看日志

1. 启动 Zookeeper(如需要)

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

2. 启动 Kafka

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

✅ 后台运行:

nohup /opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties > kafka.log 2>&1 &

3. 查看日志(最重要)

tail -f /opt/kafka/logs/server.log

常见错误:

  • Address already in use → 端口冲突
  • Cannot assign requested address → IP 配置错误
  • Connection refused → ZK 没启动

四、端口与网络排查

1. 查看端口

sudo netstat -tunlp | grep 9092
# 或
ss -tunlp | grep 9092

2. 本机测试

telnet localhost 9092

3. 远程测试

telnet <服务器IP> 9092

防火墙:

sudo ufw allow 9092

五、Kafka 功能验证

1. 创建 topic

/opt/kafka/bin/kafka-topics.sh \
--create --topic test \
--bootstrap-server localhost:9092 \
--partitions 1 --replication-factor 1

2. 查看 topic

/opt/kafka/bin/kafka-topics.sh \
--list --bootstrap-server localhost:9092

3. 生产 / 消费测试

# 生产
kafka-console-producer.sh --topic test --bootstrap-server localhost:9092

# 消费
kafka-console-consumer.sh --topic test --bootstrap-server localhost:9092 --from-beginning

六、常见坑总结

问题 原因
客户端连不上 advertised.listeners 配错
启动立刻退出 broker.id 重复
连 ZK 失败 ZK 未启动或端口错
云服务器连不上 安全组未放开 9092
Docker 中异常 容器 IP / host 模式问题

七、如果你愿意,我可以更直接帮你

你可以贴出:

  1. server.properties
  2. 启动日志(server.log 报错部分)
  3. 使用场景(本地 / 服务器 / Docker / 云)

我可以直接帮你定位是哪一行配置有问题。

0