Confluent Control Center в кластере - PullRequest
0 голосов
/ 06 марта 2020

Я установил базовый c трехсерверный кластер zookeeper и kafka версии 5.4.0 с использованием docker. Для zookeeper и kafka я указал все три сервера bootstrap. Я пытаюсь настроить это таким образом, чтобы один сервер отключился на go, и кластер все еще будет работать правильно. Я пытаюсь заставить работать центр управления, и у меня возникают проблемы. Во-первых, кажется, что только один из серверов может успешно управлять центром управления, и только когда я указываю сервер bootstrap, на котором он работает, а не все три. Если я пытаюсь запустить центр управления на двух других серверах, они не запускаются, и они постоянно регистрируют следующее:

INFO unable to get command store (io.confluent.command.CommandStore)

Я не уверен, как лучше это сделать , Поскольку это может быть полезно, я публикую ниже свои docker -компонентные файлы для пары zookeeper / broker, а также файл для центра управления. Пожалуйста, дайте мне знать, если я что-то неправильно указал или если вы думаете, что изменение в порядке.

zookeeper / kafka broker docker -compose.yml (остальные отличаются только IP-адресом прослушивателя):

---
version: '2'
services:
  zookeeper:
    image: confluentinc/cp-zookeeper:5.4.0
    hostname: zookeeper
    container_name: zookeeper
    network_mode: host
    restart: always
    ports:
      - "2181:2181"
    environment:
      ZOOKEEPER_SERVER_ID: 2
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
      ZOOKEEPER_INIT_LIMIT: 5
      ZOOKEEPER_SYNC_LIMIT: 2
      ZOOKEEPER_SERVERS: "10.100.1.1:2888:3888;10.100.1.2:2888:3888;10.100.1.3:2888:3888"
    volumes:
      - ./zk-data:/var/lib/zookeeper/data
      - ./zk-txn-logs:/var/lib/zookeeper/log

  broker:
    image: confluentinc/cp-enterprise-kafka:5.4.0
    hostname: broker
    container_name: broker
    depends_on:
      - zookeeper
    network_mode: host
    restart: always
    ports:
      - "9092:9092"
    environment:
      KAFKA_BROKER_ID: 2
      KAFKA_ZOOKEEPER_CONNECT: '10.100.1.1:2181,10.100.1.2:2181,10.100.1.3:2181'
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT
      KAFKA_ADVERTISED_LISTENERS: "PLAINTEXT://10.100.1.1:9092"
      KAFKA_METRIC_REPORTERS: io.confluent.metrics.reporter.ConfluentMetricsReporter
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 2
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
      CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS: 10.100.1.1:9092,10.100.1.2:9092,10.100.1.3:9092
      CONFLUENT_METRICS_REPORTER_ZOOKEEPER_CONNECT: 10.100.1.1:2181,10.100.1.2:2181,10.100.1.3:2181
      CONFLUENT_METRICS_REPORTER_TOPIC_REPLICAS: 2
      CONFLUENT_METRICS_ENABLE: 'true'
      CONFLUENT_SUPPORT_CUSTOMER_ID: 'anonymous'
    volumes:
      - ./kafka-data:/var/lib/kafka/data

центр управления docker -compose.yml:

---
version: '2'
services:
  control-center:
    image: confluentinc/cp-enterprise-control-center:5.4.0
    hostname: control-center
    container_name: control-center
    network_mode: host
    restart: always
    ports:
      - "9021:9021"
    environment:
      CONTROL_CENTER_BOOTSTRAP_SERVERS: '10.100.1.1:9092'
      CONTROL_CENTER_ZOOKEEPER_CONNECT: '10.100.1.1:2181'
      CONTROL_CENTER_REPLICATION_FACTOR: 1
      CONTROL_CENTER_INTERNAL_TOPICS_PARTITIONS: 1
      CONTROL_CENTER_MONITORING_INTERCEPTOR_TOPIC_PARTITIONS: 1
      CONFLUENT_METRICS_TOPIC_REPLICATION: 1
      PORT: 9021
    volumes:
      - ./control-center:/var/lib/confluent-control-center

1 Ответ

0 голосов
/ 07 марта 2020

1) удалить network_mode: host

2l Добавить центр управления в тот же файл компоновки

3) использовать zookeeper:2181 для строк подключения Zookeeper и kafka:9092 для bootstrap сервера. Я не думаю, что репортеры метрик или центр управления имеют свойство Zookeeper


Если вы хотите создать кластер контейнеров, то вам, вероятно, стоит взглянуть на Confluent Helm Charts, а не на Docker создавать файлы

...