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

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

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

Настройка Edge

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

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

  1. Установите apigee-setup на первый узел, как описано в разделе Установка утилиты apigee-setup для Edge.
  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

Перенастройте все процессоры сообщений.

На всех узлах Message Processor:

  1. Выполните команду настройки:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor setup -f updatedConfigFile
  2. Перезапустите Message Processor:
    /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 выходных данных для узлов один узел должен быть обозначен как наблюдатель, один – как лидер, а остальные – как последователи.