在 Debian 上配置 Kafka 的端口,主要涉及 Kafka 本身监听端口 和 Kafka 使用的 Zookeeper 端口(或 KRaft 模式下 Controller 端口)。下面按常见场景说明。
Kafka 的监听端口由 server.properties 中的以下参数控制:
# 老版本(0.9 之前常用)
port=9092
# 新版本(推荐)
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://your.host.ip:9092
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://192.168.1.100:9092
listeners:Kafka 实际绑定的端口advertised.listeners:客户端连接时使用的地址(必须能被客户端访问)clientPort=2181
文件位置(示例):
/etc/zookeeper/conf/zoo.cfg
在 server.properties 中:
zookeeper.connect=localhost:2181
如果是 KRaft 模式:
# Controller 端口
controller.listener.names=CONTROLLER
listeners=CONTROLLER://:9093
advertised.listeners=CONTROLLER://192.168.1.100:9093
如果启用了防火墙:
sudo ufw allow 9092/tcp
sudo ufw allow 2181/tcp
查看监听:
ss -lntp | grep java
sudo systemctl restart kafka
# 或
/opt/kafka/bin/kafka-server-stop.sh
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
✅ 客户端连不上?
advertised.listeners 写成了 localhost✅ 多 broker?
如果你愿意,可以告诉我: