在Ubuntu上使用Kafka: Zookeeper开始了 卡夫卡开始了 主题创建 制片人开始了 消费者开始了 消息从生产者到消费者正在传递
我创建了2个新的server.properties文件: server-1.properties as:
broker.id=1
listeners=PLAINTEXT://:9093
log.dir=C:\kafka\kafka-logs-1
server-2.properties as:
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
答案 0 :(得分:2)
这是因为您添加的代理正在侦听当前由第一个代理使用的端口9092
。
在server-1.properties
文件中,您需要添加
port=9093
并在server-2.properties
port=9094
将这些行listeners=PLAINTEXT://:9093
,listeners=PLAINTEXT://:9094
注释掉。
还要确保为每个实例使用不同的broker.id
。
如果您尝试使用单个Zookeeper节点设置多代理Kafka群集,则可能会发现this video有用。
答案 1 :(得分:1)
如果您使用多个代理,请在
上使用以下类型的代理声明server.properties
broker.id=0
listeners=PLAINTEXT://:9092
log.dirs=/tmp/kafka-logs
server.1.properties
broker.id=1
listeners=PLAINTEXT://:9093
log.dirs=/tmp/kafka-logs1
server.2.properties
broker.id=2
listeners=PLAINTEXT://:9094
log.dirs=/tmp/kafka-logs2
server.3.properties
broker.id=3
listeners=PLAINTEXT://:9095
log.dirs=/tmp/kafka-logs3
答案 2 :(得分:0)
在我的本地设置中,我遇到了相同的问题,其中有3个运行kafka的虚拟机和1个zookeeper,其中2个运行正常,除了一个。在修复了我的3个经纪人启动没有任何问题之后,我被要求检查IP地址设置错误的/ etc / hosts