Настройка портов режима кластера Kafka

Я пытаюсь развернуть кластер docker kafka с 3 узлами zookeeper и 3 kafka. Узлы kafka продолжают умирать, печатая следующие ошибки:

[main-SendThread(zookeeper-1:2181)] INFO org.apache.zookeeper.ClientCnxn - Opening socket connection to server zookeeper-1/10.0.0.5:2181. Will not attempt to authenticate using SASL (unknown error)
[main-SendThread(zookeeper-1:2181)] INFO org.apache.zookeeper.ClientCnxn - Socket connection established to zookeeper-1/10.0.0.5:2181, initiating session
[main-SendThread(zookeeper-1:2181)] INFO org.apache.zookeeper.ClientCnxn - Unable to read additional data from server sessionid 0x0, likely server has closed socket, closing socket connection and attempting reconnect

Пока узлы zookeeper продолжают печатать:

WARN Cannot open channel to 1 at election address
zookeeper-1/10.0.0.5:3888 (org.apache.zookeeper.server.quorum.QuorumCnxManager)
    java.net.ConnectException: Connection refused (Connection refused)
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:558)
        at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:610)
        at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:838)
        at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:957)
    [2019-03-01 17:24:30,930] INFO Resolved hostname: zookeeper-1 to address: zookeeper-1/10.0.0.5 (org.apache.zookeeper.server.quorum.QuorumPeer)
    [2019-03-01 17:24:30,931] WARN Cannot open channel to 2 at election address zookeeper-2/10.0.0.7:3888 (org.apache.zookeeper.server.quorum.QuorumCnxManager)
    java.net.ConnectException: Connection refused (Connection refused)
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:558)
        at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:610)
        at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:838)
        at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:957)

Похоже, что узлы zookeeper не могут общаться друг с другом, но я несколько раз проверял yaml для создания докеров и не могу найти лишнего. Кто-нибудь может мне помочь?

Докер-compose.yaml:

version: '3.3'

networks:
  kafka_example:
    driver: overlay

services:
  zookeeper-1:
    image: confluentinc/cp-zookeeper:5.0.1
    volumes:
      - '/volumedockerkafka/zookeeper-1/zookeeper_data:/var/lib/zookeeper:rw'  # mount point
      - '/volumedockerkafka/zookeeper-1/zookeeper_etc:/etc/zookeeper:rw'  # mount point
    environment:
      ZOOKEEPER_SERVER_ID: 1
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_SERVERS: zookeeper-1:2888:3888;zookeeper-2:2888:3888;zookeeper-3:2888:3888
      ZOOKEEPER_TICK_TIME: 2000
      ZOOKEEPER_INIT_LIMIT: 5
      ZOOKEEPER_SYNC_LIMIT: 2
    networks:
      - kafka_example

  zookeeper-2:
    image: confluentinc/cp-zookeeper:5.0.1
    volumes:
      - '/volumedockerkafka/zookeeper-2/zookeeper_data:/var/lib/zookeeper:rw'  # mount point
      - '/volumedockerkafka/zookeeper-2/zookeeper_etc:/etc/zookeeper:rw'  # mount point
    environment:
      ZOOKEEPER_SERVER_ID: 2
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_SERVERS: zookeeper-1:2888:3888;zookeeper-2:2888:3888;zookeeper-3:2888:3888
      ZOOKEEPER_TICK_TIME: 2000
      ZOOKEEPER_INIT_LIMIT: 5
      ZOOKEEPER_SYNC_LIMIT: 2
    networks:
      - kafka_example

  zookeeper-3:
    image: confluentinc/cp-zookeeper:5.0.1
    volumes:
      - '/volumedockerkafka/zookeeper-3/zookeeper_data:/var/lib/zookeeper:rw'  # mount point
      - '/volumedockerkafka/zookeeper-3/zookeeper_etc:/etc/zookeeper:rw'  # mount point
    environment:
      ZOOKEEPER_SERVER_ID: 3
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_SERVERS: zookeeper-1:2888:3888;zookeeper-2:2888:3888;zookeeper-3:2888:3888
      ZOOKEEPER_TICK_TIME: 2000
      ZOOKEEPER_INIT_LIMIT: 5
      ZOOKEEPER_SYNC_LIMIT: 2
    networks:
      - kafka_example

  message_queue_kafka-1:
    image: confluentinc/cp-kafka:5.0.1
    volumes:
      - '/volumedockerkafka/kafka-1/kafka_data:/var/lib/kafka/data:rw'  # mount point
      - '/volumedockerkafka/kafka-1/kafka_etc:/etc/kafka:rw'
    environment:
      KAFKA_ZOOKEEPER_CONNECT: 'zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181'
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://message_queue_kafka-1:9092
      KAFKA_BROKER_ID: 1
      KAFKA_SESSION_TIMEOUT_MS: 60000
      KAFKA_HEARTBEAT_INTERVAL_MS: 20000
      KAFKA_REBALANCE_TIMEOUT_MS: 300000
    depends_on:
      - zookeeper-1
      - zookeeper-2
      - zookeeper-3
    networks:
      - kafka_example

  message_queue_kafka-2:
    image: confluentinc/cp-kafka:5.0.1
    volumes:
      - '/volumedockerkafka/kafka-2/kafka_data:/var/lib/kafka/data:rw'  # mount point
      - '/volumedockerkafka/kafka-2/kafka_etc:/etc/kafka:rw'
    environment:
      KAFKA_ZOOKEEPER_CONNECT: 'zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181'
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://message_queue_kafka-2:9092
      KAFKA_BROKER_ID: 2
      KAFKA_SESSION_TIMEOUT_MS: 60000
      KAFKA_HEARTBEAT_INTERVAL_MS: 20000
      KAFKA_REBALANCE_TIMEOUT_MS: 300000
    depends_on:
      - zookeeper-1
      - zookeeper-2
      - zookeeper-3
    networks:
      - kafka_example

  message_queue_kafka-3:
    image: confluentinc/cp-kafka:5.0.1
    volumes:
      - '/volumedockerkafka/kafka-3/kafka_data:/var/lib/kafka/data:rw'  # mount point
      - '/volumedockerkafka/kafka-3/kafka_etc:/etc/kafka:rw'
    environment:
      KAFKA_ZOOKEEPER_CONNECT: 'zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181'
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://message_queue_kafka-3:9092
      KAFKA_BROKER_ID: 3
      KAFKA_SESSION_TIMEOUT_MS: 60000
      KAFKA_HEARTBEAT_INTERVAL_MS: 20000
      KAFKA_REBALANCE_TIMEOUT_MS: 300000
    depends_on:
      - zookeeper-1
      - zookeeper-2
      - zookeeper-3
    networks:
      - kafka_example
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
1
0
1 055
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

У меня аналогичная установка, 3 зоопарка и 3 брокера, и все работает хорошо. Я заметил три вещи из вашей настройки, которые отличаются от моих, и вторая, которую я точно знаю, является проблемой (я сделал то же самое и не работал)

  1. Для ZOOKEEPER_SERVERS вы используете одну и ту же комбинацию портов для всех хранителей зоопарка 2888:3888. Насколько я знаю, у вас должны быть разные порты проверьте этот пример в качестве ссылки.
  2. Вы используете один и тот же ZOOKEEPER_CLIENT_PORT для всех своих экземпляров zookeeper, рассмотрите возможность использования другого порта для каждого экземпляра, а также другого порта, используемого в ZOOKEEPER_SERVERS.
  3. Для сервисов kafka значение переменной среды KAFKA_ZOOKEEPER_CONNECT заключено в одинарные кавычки, я не думаю, что это проблема, но немного не соответствует остальной части вашей конфигурации.

Затем попробуйте изменить значения для ZOOKEEPER_SERVERS и ZOOKEEPER_CLIENT_PORT, например, на что-то вроде этого:

ZOOKEEPER_CLIENT_PORT: 22181
ZOOKEEPER_SERVERS: zookeeper-1:22888:23888;zookeeper-2:32888:33888;zookeeper-3:42888:43888

А также не забудьте соответствующим образом скорректировать значение для KAFKA_ZOOKEEPER_CONNECT:

KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:22181,zookeeper-2:32181,zookeeper-3:42181 

clientPort the port to listen for client connections

server.X ..., note the two port numbers after each server name: " 2888" and "3888". Peers use the former port to connect to other peers. Such a connection is necessary so that peers can communicate, for example, to agree upon the order of updates. More specifically, a ZooKeeper server uses this port to connect followers to the leader. When a new leader arises, a follower opens a TCP connection to the leader using this port. Because the default leader election also uses TCP, we currently require another port for leader election. This is the second port in the server entry.

Выдержка из Документы зоопарка

Все вместе должно выглядеть примерно так (пока не проверял):

version: '3.3'

networks:
kafka_example:
    driver: overlay

services:
zookeeper-1:
    image: confluentinc/cp-zookeeper:5.0.1
    volumes:
    - '/volumedockerkafka/zookeeper-1/zookeeper_data:/var/lib/zookeeper:rw'  # mount point
    - '/volumedockerkafka/zookeeper-1/zookeeper_etc:/etc/zookeeper:rw'  # mount point
    environment:
    ZOOKEEPER_SERVER_ID: 1
    ZOOKEEPER_CLIENT_PORT: 22181
    ZOOKEEPER_SERVERS: zookeeper-1:22888:23888;zookeeper-2:32888:33888;zookeeper-3:42888:43888
    ZOOKEEPER_TICK_TIME: 2000
    ZOOKEEPER_INIT_LIMIT: 5
    ZOOKEEPER_SYNC_LIMIT: 2
    networks:
    - kafka_example

zookeeper-2:
    image: confluentinc/cp-zookeeper:5.0.1
    volumes:
    - '/volumedockerkafka/zookeeper-2/zookeeper_data:/var/lib/zookeeper:rw'  # mount point
    - '/volumedockerkafka/zookeeper-2/zookeeper_etc:/etc/zookeeper:rw'  # mount point
    environment:
    ZOOKEEPER_SERVER_ID: 2
    ZOOKEEPER_CLIENT_PORT: 32181
    ZOOKEEPER_SERVERS: zookeeper-1:22888:23888;zookeeper-2:32888:33888;zookeeper-3:42888:43888
    ZOOKEEPER_TICK_TIME: 2000
    ZOOKEEPER_INIT_LIMIT: 5
    ZOOKEEPER_SYNC_LIMIT: 2
    networks:
    - kafka_example

zookeeper-3:
    image: confluentinc/cp-zookeeper:5.0.1
    volumes:
    - '/volumedockerkafka/zookeeper-3/zookeeper_data:/var/lib/zookeeper:rw'  # mount point
    - '/volumedockerkafka/zookeeper-3/zookeeper_etc:/etc/zookeeper:rw'  # mount point
    environment:
    ZOOKEEPER_SERVER_ID: 3
    ZOOKEEPER_CLIENT_PORT: 42181
    ZOOKEEPER_SERVERS: zookeeper-1:22888:23888;zookeeper-2:32888:33888;zookeeper-3:42888:43888
    ZOOKEEPER_TICK_TIME: 2000
    ZOOKEEPER_INIT_LIMIT: 5
    ZOOKEEPER_SYNC_LIMIT: 2
    networks:
    - kafka_example

message_queue_kafka-1:
    image: confluentinc/cp-kafka:5.0.1
    volumes:
    - '/volumedockerkafka/kafka-1/kafka_data:/var/lib/kafka/data:rw'  # mount point
    - '/volumedockerkafka/kafka-1/kafka_etc:/etc/kafka:rw'
    environment:
    KAFKA_LOG4J_OPTS: '-Dlog4j.configuration=file:/etc/kafka/json_log4j.properties'
    KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:22181,zookeeper-2:32181,zookeeper-3:42181
    KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://message_queue_kafka-1:9092
    KAFKA_BROKER_ID: 1
    KAFKA_SESSION_TIMEOUT_MS: 60000
    KAFKA_HEARTBEAT_INTERVAL_MS: 20000
    KAFKA_REBALANCE_TIMEOUT_MS: 300000
    depends_on:
    - zookeeper-1
    - zookeeper-2
    - zookeeper-3
    networks:
    - kafka_example

message_queue_kafka-2:
    image: confluentinc/cp-kafka:5.0.1
    volumes:
    - '/volumedockerkafka/kafka-2/kafka_data:/var/lib/kafka/data:rw'  # mount point
    - '/volumedockerkafka/kafka-2/kafka_etc:/etc/kafka:rw'
    environment:
    KAFKA_LOG4J_OPTS: '-Dlog4j.configuration=file:/etc/kafka/json_log4j.properties'
    KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:22181,zookeeper-2:32181,zookeeper-3:42181
    KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://message_queue_kafka-2:9092
    KAFKA_BROKER_ID: 2ori
    KAFKA_SESSION_TIMEOUT_MS: 60000
    KAFKA_HEARTBEAT_INTERVAL_MS: 20000
    KAFKA_REBALANCE_TIMEOUT_MS: 300000
    depends_on:
    - zookeeper-1
    - zookeeper-2
    - zookeeper-3
    networks:
    - kafka_example

message_queue_kafka-3:
    image: confluentinc/cp-kafka:5.0.1
    volumes:
    - '/volumedockerkafka/kafka-3/kafka_data:/var/lib/kafka/data:rw'  # mount point
    - '/volumedockerkafka/kafka-3/kafka_etc:/etc/kafka:rw'
    environment:
    KAFKA_LOG4J_OPTS: '-Dlog4j.configuration=file:/etc/kafka/json_log4j.properties'
    KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:22181,zookeeper-2:32181,zookeeper-3:42181
    KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://message_queue_kafka-3:9092
    KAFKA_BROKER_ID: 3
    KAFKA_SESSION_TIMEOUT_MS: 60000
    KAFKA_HEARTBEAT_INTERVAL_MS: 20000
    KAFKA_REBALANCE_TIMEOUT_MS: 300000
    depends_on:
    - zookeeper-1
    - zookeeper-2
    - zookeeper-3
    networks:
    - kafka_example

ОБНОВИТЬ

Это docker-compose, который я использую, в моей настройке контейнеры могут находиться на любом из двух физических хостов.

version: '2'
services:
zookeeper-3:
    image: confluentinc/cp-zookeeper:5.1.1
    environment:
    ZOOKEEPER_CLIENT_PORT: '42181'
    ZOOKEEPER_INIT_LIMIT: '5'
    ZOOKEEPER_SERVERS: zookeeper-1:22888:23888;zookeeper-2:32888:33888;zookeeper-3:42888:43888
    ZOOKEEPER_SERVER_ID: '3'
    ZOOKEEPER_SYNC_LIMIT: '2'
    ZOOKEEPER_TICK_TIME: '2000'
zookeeper-2:
    image: confluentinc/cp-zookeeper:5.1.1
    environment:
    ZOOKEEPER_CLIENT_PORT: '32181'
    ZOOKEEPER_INIT_LIMIT: '5'
    ZOOKEEPER_SERVERS: zookeeper-1:22888:23888;zookeeper-2:32888:33888;zookeeper-3:42888:43888
    ZOOKEEPER_SERVER_ID: '2'
    ZOOKEEPER_SYNC_LIMIT: '2'
    ZOOKEEPER_TICK_TIME: '2000'
zookeeper-1:
    image: confluentinc/cp-zookeeper:5.1.1
    environment:
    ZOOKEEPER_CLIENT_PORT: '22181'
    ZOOKEEPER_INIT_LIMIT: '5'
    ZOOKEEPER_SERVERS: zookeeper-1:22888:23888;zookeeper-2:32888:33888;zookeeper-3:42888:43888
    ZOOKEEPER_SERVER_ID: '1'
    ZOOKEEPER_SYNC_LIMIT: '2'
    ZOOKEEPER_TICK_TIME: '2000'
kafka-1:
    image: confluentinc/cp-enterprise-kafka:5.1.1
    environment:
    KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-1:19092
    KAFKA_BROKER_ID: '1'
    KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT
    KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:22181,zookeeper-2:32181,zookeeper-3:42181
    KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: '0'
kafka-2:
    image: confluentinc/cp-enterprise-kafka:5.1.1
    environment:
    KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-2:29092
    KAFKA_BROKER_ID: '2'
    KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT
    KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:22181,zookeeper-2:32181,zookeeper-3:42181
    KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: '0'
kafka-3:
    image: confluentinc/cp-enterprise-kafka:5.1.1
    environment:
    KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-3:39092
    KAFKA_BROKER_ID: '3'
    KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT
    KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:22181,zookeeper-2:32181,zookeeper-3:42181
    KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: '0'

Я попробовал ваши изменения и, частично, с некоторыми ошибками идентификации, выдает ту же ошибку, что и раньше. Какую версию compose вы используете? Документация, которую вы связали, предназначена для 2, но я использую 3.3.

ggagliano 03.03.2019 10:03

Я также понимаю, что если я использую один и тот же порт на zookeeper-1 и zookeeper-2, это не должно быть проблемой, поскольку я не публикую их на одном и том же порту, не так ли?

ggagliano 03.03.2019 10:17

Я использую компоновочную версию 2, но это потому, что я запускаю кластер в rancher. Попробую в моей локальной версии с версией 3 и опубликую здесь свой докер.

lloiacono 03.03.2019 12:32
Ответ принят как подходящий

Наконец-то я получил четное здесь: https://forums.docker.com/t/cannot-get-zookeeper-to-work-running-in-docker-using-swarm-mode/27109/2

Кажется, чтобы позволить кластеру zookeeper работать, вам нужно указать 0.0.0.0 в качестве имени хоста x, когда KAFKA_BROKER_ID равен x. Также кажется, что номера портов не имеют значения, поскольку это разные машины (фактически).

Вот мой новый файл компоновки:

version: '3.3'

networks:
  kafka_example:
      driver: overlay

services:
  zookeeper-1:
      image: confluentinc/cp-zookeeper:5.0.1
      volumes:
        - '/volumedockerkafka/zookeeper-1/zookeeper_data:/var/lib/zookeeper:rw'
        - '/volumedockerkafka/zookeeper-1/zookeeper_etc:/etc/zookeeper:rw'
      environment:
        ZOOKEEPER_SERVER_ID: 1
        ZOOKEEPER_CLIENT_PORT: 2181
        ZOOKEEPER_SERVERS: 0.0.0.0:2888:3888;zookeeper-2:2888:3888;zookeeper-3:2888:3888
        ZOOKEEPER_TICK_TIME: 2000
        ZOOKEEPER_INIT_LIMIT: 5
        ZOOKEEPER_SYNC_LIMIT: 2
        ZOOKEEPER_MAX_CLIENT_CNXNS: 200
      networks:
      - kafka_example

  zookeeper-2:
      image: confluentinc/cp-zookeeper:5.0.1
      volumes:
        - '/volumedockerkafka/zookeeper-2/zookeeper_data:/var/lib/zookeeper:rw'
        - '/volumedockerkafka/zookeeper-2/zookeeper_etc:/etc/zookeeper:rw'
      environment:
        ZOOKEEPER_SERVER_ID: 2
        ZOOKEEPER_CLIENT_PORT: 2181
        ZOOKEEPER_SERVERS: zookeeper-1:2888:3888;0.0.0.0:2888:3888;zookeeper-3:2888:3888
        ZOOKEEPER_TICK_TIME: 2000
        ZOOKEEPER_INIT_LIMIT: 5
        ZOOKEEPER_SYNC_LIMIT: 2
        ZOOKEEPER_MAX_CLIENT_CNXNS: 200
      networks:
        - kafka_example

  zookeeper-3:
      image: confluentinc/cp-zookeeper:5.0.1
      volumes:
        - '/volumedockerkafka/zookeeper-3/zookeeper_data:/var/lib/zookeeper:rw'
        - '/volumedockerkafka/zookeeper-3/zookeeper_etc:/etc/zookeeper:rw'
      environment:
        ZOOKEEPER_SERVER_ID: 3
        ZOOKEEPER_CLIENT_PORT: 2181
        ZOOKEEPER_SERVERS: zookeeper-1:2888:3888;zookeeper-2:2888:3888;0.0.0.0:2888:3888
        ZOOKEEPER_TICK_TIME: 2000
        ZOOKEEPER_INIT_LIMIT: 5
        ZOOKEEPER_SYNC_LIMIT: 2
        ZOOKEEPER_MAX_CLIENT_CNXNS: 200
      networks:
        - kafka_example

  message_queue_kafka-1:
      image: confluentinc/cp-kafka:5.0.1
      volumes:
        - '/volumedockerkafka/kafka-1/kafka_data:/var/lib/kafka/data:rw'
        - '/volumedockerkafka/kafka-1/kafka_etc:/etc/kafka:rw'
      environment:
        KAFKA_BROKER_ID: 1
        KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181
        KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://message_queue_kafka-1:9092
        KAFKA_SESSION_TIMEOUT_MS: 60000
        KAFKA_HEARTBEAT_INTERVAL_MS: 20000
        KAFKA_REBALANCE_TIMEOUT_MS: 300000
      depends_on:
        - zookeeper-1
        - zookeeper-2
        - zookeeper-3
      networks:
        - kafka_example

  message_queue_kafka-2:
      image: confluentinc/cp-kafka:5.0.1
      volumes:
        - '/volumedockerkafka/kafka-2/kafka_data:/var/lib/kafka/data:rw'
        - '/volumedockerkafka/kafka-2/kafka_etc:/etc/kafka:rw'
      environment:
        KAFKA_BROKER_ID: 2
        KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181
        KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://message_queue_kafka-2:9092
        KAFKA_SESSION_TIMEOUT_MS: 60000
        KAFKA_HEARTBEAT_INTERVAL_MS: 20000
        KAFKA_REBALANCE_TIMEOUT_MS: 300000
      depends_on:
        - zookeeper-1
        - zookeeper-2
        - zookeeper-3
      networks:
        - kafka_example

  message_queue_kafka-3:
      image: confluentinc/cp-kafka:5.0.1
      volumes:
        - '/volumedockerkafka/kafka-3/kafka_data:/var/lib/kafka/data:rw'
        - '/volumedockerkafka/kafka-3/kafka_etc:/etc/kafka:rw'
      environment:
        KAFKA_BROKER_ID: 3
        KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181
        KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://message_queue_kafka-3:9092
        KAFKA_SESSION_TIMEOUT_MS: 60000
        KAFKA_HEARTBEAT_INTERVAL_MS: 20000
        KAFKA_REBALANCE_TIMEOUT_MS: 300000
      depends_on:
        - zookeeper-1
        - zookeeper-2
        - zookeeper-3
      networks:
        - kafka_example

Это странно, так как мне никогда не приходилось этого делать. Также отличается от примеров, найденных в слитном репо. В любом случае рад, что это сработало для вас.

lloiacono 04.03.2019 13:36

Другие вопросы по теме