Сбой масштабирования контейнера Kafka-docker для wurstmeister с ошибкой, поскольку «объявленные прослушиватели уже зарегистрированы брокером 1001» - PullRequest
0 голосов
/ 27 декабря 2018

Один экземпляр брокера Kafka-docker работает нормально с загруженным образом для wurstmeister.Выполнение приведенного ниже результата команды отображается как выполненное в приглашении cmd:

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

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

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"

Журналы контейнеров показаны ниже трассировки стека:

[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. ОС - Windows 10 2. Образ Docker kafka: wurstmeister / kafka: 2.11-2.0.0

Отсутствуют ли какие-либо изменения конфигурации?

Ответы [ 2 ]

0 голосов
/ 04 января 2019

После настройки в файле docker-compose.xml ошибка устранена, и kafka на одном узле может масштабироваться с помощью команды

docker-compose scale kafka=3

docker-compose.xml:

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"

Контейнеры Docker:

    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
0 голосов
/ 27 декабря 2018

Вы не можете масштабировать брокера Kafka, как будто это просто какое-то веб-приложение или API.

Как минимум эти свойства должны быть уникальными для каждого брокера

  • KAFKA_BROKER_ID (это уже обработано для вас)
  • KAFKA_ADVERTISED_HOST_NAME и KAFKA_ADVERTISED_PORTузнать, где в сети существует этот брокер
  • KAFKA_ADVERTISED_LISTENERS - как клиенты знают, как связаться с конкретным брокером;если разрешено быть одинаковым для нескольких брокеров, то один из них никогда не получит никаких запросов от производителей / потребителей

Если вы посмотрите в репозитории wurstmeister (и confluentinc / cp-docker-images), у них есть мультиброкерские файлы составления

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...