温馨提示×

怎样设置Kafka端口

小樊
45
2026-08-06 18:43:13
栏目: 大数据

Kafka 的端口主要分为 Broker 监听端口ZooKeeper 端口。下面按常见场景说明如何设置。


一、Kafka Broker 端口(最重要)

1️⃣ 配置文件位置

$KAFKA_HOME/config/server.properties

2️⃣ 关键配置项

listeners(推荐方式)

listeners=PLAINTEXT://:9092

含义:

  • PLAINTEXT:明文协议(无认证)
  • 9092:Kafka 默认端口
  • 监听 所有网卡

✅ 指定 IP(生产环境常用)

listeners=PLAINTEXT://192.168.1.10:9092

advertised.listeners(客户端连接地址)

advertised.listeners=PLAINTEXT://192.168.1.10:9092

⚠️ 非常重要

  • listeners:Broker 实际监听的地址
  • advertised.listeners:注册到 ZooKeeper,返回给客户端使用的地址

Docker / 云环境常见问题就在这里。


3️⃣ 多端口示例(内外网)

listeners=INTERNAL://:9092,EXTERNAL://:9093
advertised.listeners=INTERNAL://kafka:9092,EXTERNAL://public-ip:9093
listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
inter.broker.listener.name=INTERNAL

二、ZooKeeper 端口(Kafka 依赖)

1️⃣ 配置文件

$KAFKA_HOME/config/zookeeper.properties

2️⃣ 关键配置

clientPort=2181

Kafka 连接 ZooKeeper:

zookeeper.connect=localhost:2181

三、Docker 中设置 Kafka 端口

docker-compose 示例

kafka:
  image: confluentinc/cp-kafka
  ports:
    - "9092:9092"
  environment:
    KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
    KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092

四、常见问题排查

❌ 能连上但客户端报错

  • advertised.listeners 设置错误
  • 客户端访问地址 ≠ broker 注册地址

❌ Connection refused

netstat -an | grep 9092

ss -lntup | grep 9092

五、常见端口总结

组件 默认端口
Kafka Broker 9092
ZooKeeper 2181
Kafka + SSL 9093
Kafka + SASL 9094

如果你愿意,可以告诉我:

  • ✅ 单机 / 集群
  • ✅ 原生 Kafka / Docker / K8s
  • ✅ 内网 / 外网访问

我可以给你 完全可直接用的配置示例

0