Как добавить узлы ZooKeeper

Edge for Private Cloud v4.18.01

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

Вы можете добавить один или два узла 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 модификатором ":observer". Узлы без модификатора ":observer" называются "голосующими". В конфигурации должно быть нечетное число голосующих. Таким образом, в этой конфигурации у вас будет пять голосующих серверов ZooKeeper и один наблюдатель.

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

Как настроить 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. Повторно выполните команду установки с профилем "-p c" и новым файлом конфигурации:
    > /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.

Чтобы проверить AMP-страницу, выполните следующие действия:

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