首页 > 解决方案 > 在本地计算机上设置多代理集群时出错

问题描述

在 Ubuntu 上使用 Kafka: Zookeeper 启动 Kafka 启动 主题创建 生产者启动 消费者启动 消息从生产者到消费者传递良好

我创建了 2 个新的 server.properties 文件为: server-1.properties 为:

broker.id=1
listeners=PLAINTEXT://:9093
log.dir=C:\kafka\kafka-logs-1

server-2.properties 为:

broker.id=2
listeners=PLAINTEXT://:9094
log.dir=C:\kafka\kafka-logs-2

当我启动新经纪人时:

bin\windows\kafka-server-start.sh config\server-1.properties &

得到错误为:

kafka.common.KafkaException: Socket server failed to bind to 0.0.0.0:9092: Address already in use: bind

标签: apache-kafkakafka-cluster

解决方案


发生这种情况是因为您添加的代理都在侦听9092第一个代理当前正在使用的端口。

server-1.properties文件中,您需要添加

port=9093

并且在server-2.properties

port=9094

保留这些行listeners=PLAINTEXT://:9093listeners=PLAINTEXT://:9094注释掉。

还要确保broker.id为每个实例使用不同的。

如果您尝试使用单个 Zookeeper 节点设置多代理 Kafka 集群,您可能会发现此视频很有用。


推荐阅读