Добавление узлов ZooKeeper

В этом документе описывается, как добавить три новых узла ZooKeeper к существующей установке Edge for Private Cloud.

Вы можете добавить один или два узла ZooKeeper к существующей установке Edge, однако вы должны убедиться, что у вас всегда есть нечетное количество узлов голосования ZooKeeper, как описано ниже.

Существующая конфигурация Edge

Все поддерживаемые топологии Edge для производственной системы предусматривают использование трех узлов ZooKeeper. Эти три узла указаны для свойств ZK_HOSTS и ZK_CLIENT_HOSTS в файле конфигурации, как показано ниже:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
MSIP=$IP1 
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=1
APIGEE_LDAPPW=secret
MP_POD=gateway
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com
SMTPPASSWORD=smtppwd

Где:

  • ZK_HOSTS указывает IP-адреса или DNS-имена узлов ZooKeeper. IP-адреса или DNS-имена должны быть указаны в одном и том же порядке на всех узлах ZooKeeper. В среде с несколькими центрами обработки данных перечислите все узлы ZooKeeper из обоих центров обработки данных.
  • ZK_CLIENT_HOSTS указывает IP-адреса или DNS-имена узлов ZooKeeper, используемых этим центром обработки данных. IP-адреса или DNS-имена должны быть указаны в одном и том же порядке на всех узлах ZooKeeper.

    При установке одного центра обработки данных это те же узлы, которые указаны в ZK_HOSTS . В среде с несколькими центрами обработки данных укажите только узлы ZooKeeper в этом центре обработки данных.

Изменение файла конфигурации для добавления трех новых узлов ZooKeeper.

В этом примере три новых узла ZooKeeper находятся по следующим IP-адресам:

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

Сначала необходимо обновить файл конфигурации Edge, чтобы добавить новые узлы:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
# Add the new node IP addresses.
IP14=10.10.0.14
IP15=10.10.0.15
IP16=10.10.0.16
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
...
# Update ZK_HOSTS to add each new node after an existing nodes.
ZK_HOSTS="$IP1 $IP2 $IP3 $IP14 $IP15 $IP16:observer"
# Update ZK_Client_HOSTS to add each new node after an existing nodes.
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3 $IP14 $IP15 $IP16"

Отметьте последний узел в ZK_HOSTS модификатором with :observer . Узлы без модификатора :observer называются «избирателями». В вашей конфигурации должно быть нечетное количество «избирателей». Таким образом, в этой конфигурации у вас есть 5 избирателей ZooKeeper и один наблюдатель.

Обязательно добавьте узлы в ZK_HOSTS и ZK_CLIENT_HOSTS в одном и том же порядке. Однако опустите модификатор :observer при настройке ZK_CLIENT_HOSTS .

Настроить Edge

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

Установите ZooKeeper на новые узлы.

  1. Установите apigee-setup на первый узел, как описано в разделе Установка утилиты Edge apigee-setup .
  2. Установите ZooKeeper на первый узел, используя следующие команды:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper install
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile
  3. Повторите шаги 1 и 2 для остальных новых узлов ZooKeeper.

Переконфигурируйте существующие узлы ZooKeeper.

На существующих узлах ZooKeeper:

  1. Повторно запустите команду установки с новым файлом конфигурации:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile

Перезапустите все узлы Zookeeper.

На всех узлах ZooKeeper:

  1. Перезапустите узел:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart

    Вам необходимо перезапустить все узлы ZooKeeper, но порядок перезапуска не имеет значения.

Перенастройте узел Сервера управления.

На узле Сервер управления:

  1. Запустите команду установки:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server setup -f updatedConfigFile
  2. Перезапустите сервер управления:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Перенастроить все маршрутизаторы

На всех узлах маршрутизатора:

  1. Запустите команду установки:
    /opt/apigee/apigee-service/bin/apigee-service edge-router setup -f updatedConfigFile
  2. Перезагрузите маршрутизатор:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart

Переконфигурируйте все процессоры сообщений.

На всех узлах процессора сообщений:

  1. Запустите команду установки:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor setup -f updatedConfigFile
  2. Перезапустите обработчик сообщений:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Перенастроить все узлы Qpid

На всех узлах Qpid:

  1. Запустите команду установки:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server setup -f updatedConfigFile
  2. Перезапустить Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart

Переконфигурируйте все узлы Postgres.

На всех узлах Postgres:

  1. Запустите команду установки:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server setup -f updatedConfigFile
  2. Перезапустите Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

Подтвердите установку

Вы можете проверить установку новых узлов ZooKeeper, отправив команды на порт 2181 с помощью netcat (nc) или telnet. Дополнительную информацию о командах ZooKeeper см. по адресу: http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands .

Чтобы подтвердить:

  1. Если он не установлен на узле ZooKeeper, установите nc:
    sudo yum install nc
  2. Запустите следующую команду nc:
    echo stat | nc localhost 2181
  3. Повторите шаги 1 и 2 на каждом узле ZooKeeper. В строке Mode » выходных данных для узлов один узел должен быть назначен наблюдателем, один узел — лидером, а остальные — ведомыми.