Kafka 的端口主要分为 Broker 监听端口 和 ZooKeeper 端口。下面按常见场景说明如何设置。
$KAFKA_HOME/config/server.properties
listeners(推荐方式)listeners=PLAINTEXT://:9092
含义:
PLAINTEXT:明文协议(无认证)9092:Kafka 默认端口listeners=PLAINTEXT://192.168.1.10:9092
advertised.listeners(客户端连接地址)advertised.listeners=PLAINTEXT://192.168.1.10:9092
⚠️ 非常重要
listeners:Broker 实际监听的地址advertised.listeners:注册到 ZooKeeper,返回给客户端使用的地址Docker / 云环境常见问题就在这里。
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
$KAFKA_HOME/config/zookeeper.properties
clientPort=2181
Kafka 连接 ZooKeeper:
zookeeper.connect=localhost:2181
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 设置错误netstat -an | grep 9092
或
ss -lntup | grep 9092
| 组件 | 默认端口 |
|---|---|
| Kafka Broker | 9092 |
| ZooKeeper | 2181 |
| Kafka + SSL | 9093 |
| Kafka + SASL | 9094 |
如果你愿意,可以告诉我:
我可以给你 完全可直接用的配置示例。