首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于“已由代理1001注册的广告侦听器”,wurstmeister的Kafka-docker容器扩展失败。

由于“已由代理1001注册的广告侦听器”,wurstmeister的Kafka-docker容器扩展失败。
EN

Stack Overflow用户
提问于 2018-12-27 11:25:08
回答 2查看 4.1K关注 0票数 5

单个实例对wurstmeister下载的映像运行良好。在cmd提示符上显示的以下命令结果的执行:

代码语言:javascript
复制
docker-compose scale kafka=2
WARNING: The scale command is deprecated. Use the up command with the --scale flag instead.
Starting mskafka_kafka_1 ... done
Creating mskafka_kafka_2 ... done

虽然,容器的状态为退出1。

代码语言:javascript
复制
docker-compose ps
The system cannot find the path specified.
       Name                      Command               State                          Ports
------------------------------------------------------------------------------------------------------------------
mskafka_apache_1      /bin/sh -c apache2ctl -D F ...   Up       0.0.0.0:8080->80/tcp
mskafka_kafka_1       start-kafka.sh                   Up       0.0.0.0:9092->9093/tcp
mskafka_kafka_2       start-kafka.sh                   Exit 1
mskafka_postgres_1    docker-entrypoint.sh postgres    Up       5432/tcp
mskafka_zookeeper_1   /bin/sh -c /usr/sbin/sshd  ...   Up       0.0.0.0:2181->2181/tcp, 22/tcp, 2888/tcp, 3888/tcp

Configuration file : docker-compose.yml

代码语言:javascript
复制
kafka:
    image: wurstmeister/kafka:2.11-2.0.0
    links:
     - zookeeper
    environment:
      KAFKA_ADVERTISED_HOST_NAME: kafka
     # KAFKA_ADVERTISED_PORT: 9092
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_CREATE_TOPICS: "order:5:1"
    ports:
     - "9092"

容器日志显示在堆栈跟踪下面:

代码语言:javascript
复制
[2018-12-27 11:12:42,035] INFO [LogDirFailureHandler]: Starting (kafka.server.ReplicaManager$LogDirFailureHandler)
[2018-12-27 11:12:42,056] ERROR [KafkaServer id=1002] Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
java.lang.IllegalArgumentException: requirement failed: Configured end points kafka:9092 in advertised listeners are already registered by broker 1001
        at scala.Predef$.require(Predef.scala:224)
        at kafka.server.KafkaServer$$anonfun$createBrokerInfo$2.apply(KafkaServer.scala:384)
        at kafka.server.KafkaServer$$anonfun$createBrokerInfo$2.apply(KafkaServer.scala:382)
        at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
        at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
        at kafka.server.KafkaServer.createBrokerInfo(KafkaServer.scala:382)
        at kafka.server.KafkaServer.startup(KafkaServer.scala:256)
        at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:38)
        at kafka.Kafka$.main(Kafka.scala:75)
        at kafka.Kafka.main(Kafka.scala)
[2018-12-27 11:12:42,065] INFO [KafkaServer id=1002] shutting down (kafka.server.KafkaServer)

环境详细信息: 1. OS - Windows 10 2. Docker kafka图像: wurstmeister/kafka:2.11-2.0.0

是否缺少任何配置更改?

EN

回答 2

Stack Overflow用户

发布于 2018-12-27 16:22:42

你不能把卡夫卡经纪人的规模扩大,就像它只是一些网络应用或API。

至少对于每个代理来说,这些属性必须是唯一的。

  • KAFKA_BROKER_ID (这已经为您处理了)
  • KAFKA_ADVERTISED_HOST_NAMEKAFKA_ADVERTISED_PORT以了解代理在网络上的存在位置(不推荐使用它们,而应该使用公告的侦听器配置)
  • KAFKA_ADVERTISED_LISTENERS是客户如何知道如何到达特定代理的;如果允许多个代理相同,那么其中只有一个将收到任何生产者/消费者请求。可以使用HOSTNAME_COMMAND来设置它,但是您必须为端口做一些特殊的事情

注意,内部主题的默认复制因子仅为1,从1扩展到3个代理不会改变这一点。

如果您查看wurstmeister (和confluentinc/cp-docker-映像) repos,那么它们有多代理组合文件,或者您可以为Kafka使用Strimzi / Bitnami Kubernetes操作符。

票数 8
EN

Stack Overflow用户

发布于 2019-01-04 11:37:16

在docker-come.yaml文件中的以下配置已经解决了错误,并且在单个节点上的kafka能够使用命令进行缩放

代码语言:javascript
复制
docker-compose scale kafka=3

码头工人-复合公司

代码语言:javascript
复制
kafka:
    image: wurstmeister/kafka:2.11-2.0.0
    links:
     - zookeeper
    environment:
      HOSTNAME_COMMAND: "docker info | grep ^Name: | cut -d' ' -f 2" # Normal instances
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
      KAFKA_ADVERTISED_LISTENERS: INSIDE://:9092,OUTSIDE://_{HOSTNAME_COMMAND}:9094
      KAFKA_LISTENERS: INSIDE://:9092,OUTSIDE://:9094
      KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
      KAFKA_CREATE_TOPICS: "order:5:2"

码头集装箱:

代码语言:javascript
复制
    docker ps
    CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                                                NAMES
    428142871bb0        wurstmeister/kafka:2.11-2.0.0   "start-kafka.sh"         18 minutes ago      Up 18 minutes                                                            mskafka_kafka_3
    def308e0b782        wurstmeister/kafka:2.11-2.0.0   "start-kafka.sh"         18 minutes ago      Up 18 minutes                                                            mskafka_kafka_2
    b72feb27804d        wurstmeister/kafka:2.11-2.0.0   "start-kafka.sh"         25 minutes ago      Up 25 minutes                                                            mskafka_kafka_1
    49e8cf39fee6        wurstmeister/zookeeper:3.4.6    "/bin/sh -c '/usr/sb…"   25 minutes ago      Up 25 minutes       22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp   mskafka_zookeeper_1
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53944271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档