2017-02-06 5 views
4

окружающей среды: 6 Сервер докер роя кластера (2 мастер & 4 рабочих)Как настроить кластер на Zookeeper Docker роя

Требование: Нам нужно настроить Zookeeper кластер на существующем Docker роя.

Заблокировано: Чтобы установить zookeeper в кластере, нам необходимо предоставить все серверы zk в каждой конфигурации сервера и предоставить уникальный идентификатор в файле myid.

Вопрос: Когда мы создаем реплику zookeeper в рое докеров, как мы можем предоставить уникальный идентификатор для каждой реплики. Также как мы можем обновить файл конфигурации zoo.cfg с идентификатором каждого контейнера zookeeper.

ответ

5

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

На Докер Swarm, сегодня, вы, возможно, лучше всего рекомендуется запускать каждый элемент кластера как отдельную услугу, в файле создания письма (см 31z4/zookeeper-docker):

version: '2' 
services: 
    zoo1: 
     image: 31z4/zookeeper 
     restart: always 
     ports: 
      - 2181:2181 
     environment: 
      ZOO_MY_ID: 1 
      ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 

    zoo2: 
     image: 31z4/zookeeper 
     restart: always 
     ports: 
      - 2182:2181 
     environment: 
      ZOO_MY_ID: 2 
      ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 
.. 
.. 

Для состояния техники (но все еще эволюционирует) решение, я рекомендую проверить Kubernetes:

новая концепция Statefulsets предлагает много обещаний. Я ожидаю, что Docker Swarm будет развиваться по аналогичной возможности во времени, когда каждому экземпляру контейнера назначается уникальное и «липкое» имя хоста, которое может быть использовано в качестве основы для уникального идентификатора.

Смежные вопросы