【问题标题】:Error while setting up a multi-broker cluster on Local Machine在本地计算机上设置多代理集群时出错
【发布时间】:2020-05-09 03:21:18
【问题描述】:

在 Ubuntu 上使用 Kafka: Zookeeper 已启动 卡夫卡开始 已创建主题 制作人开始 消费者开始 消息从生产者到消费者传递良好

我创建了 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-kafka kafka-cluster


    【解决方案1】:

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

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

    port=9093
    

    server-2.properties

    port=9094
    

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

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

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

    【讨论】:

      【解决方案2】:

      如果您使用多个代理,则在

      上使用以下类型的代理声明

      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
      

      【讨论】:

        【解决方案3】:

        我在本地设置中遇到了同样的问题,3 个不同的 vm 运行 kafka 和 1 个 zookeeper,除了一个之外,2 个开始正常。在修复了我的 3 个代理启动后没有任何问题

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-11-07
          • 2014-02-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-01-19
          相关资源
          最近更新 更多