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

Edge для частного облака версии 4.17.09

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

Вы можете добавить один или два узла Cassandra в существующую установку Edge, но Apigee рекомендует добавлять по три узла за раз.

Список системных требований для узла Cassandra приведен в разделе Требования к установке.

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

Во всех поддерживаемых топологиях Edge для производственной системы указано, что нужно использовать три узла Cassandra. Три узла указаны в свойстве CASS_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"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" 
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com
SMTPPASSWORD=smtppwd

Обратите внимание, что в свойстве REGION название региона указано как "dc-1". Эта информация понадобится вам при добавлении новых узлов Cassandra.

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

В этом примере три новых узла Cassandra имеют следующие 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 CASS_HOSTS to add each new node after an existing nodes. 
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP14:1,1 $IP2:1,1 $IP15:1,1 $IP3:1,1 $IP16:1,1" 

Важно! Добавляйте каждый новый узел Cassandra в CASS_HOSTS после существующего узла.

Это гарантирует, что существующие узлы сохранят свои исходные настройки токенов, а исходный токен каждого нового узла будет находиться между значениями токенов существующих узлов.

Как настроить Edge

После редактирования файла конфигурации необходимо:

  • Как перенастроить существующие узлы Cassandra
  • Установите Cassandra на новые узлы
  • Как перенастроить сервер управления

Перенастройте существующие узлы Cassandra.

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

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

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

На каждом новом узле Cassandra:

  1. Установите Cassandra на трех узлах:
    1. Установите apigee-setup на первом узле, как описано в разделе Установка утилиты Edge apigee-setup.
    2. Установите Cassandra на первом узле, используя обновленный файл конфигурации:
      > /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. Повторите эти два шага для остальных новых узлов Cassandra.
  2. Пересоздайте три новых узла Cassandra, указав название региона, заданное в файле конфигурации с помощью свойства REGION. В нашем примере это dc-1:
    1. На первом узле выполните следующую команду:
      > /opt/apigee/apigee-cassandra/bin/nodetool -h nodeIP rebuild dc-1

      где nodeIP – IP-адрес узла Cassandra.

    2. Повторите этот шаг на остальных новых узлах Cassandra.

Как перенастроить сервер управления

На узле Management-Server

  1. Повторно запустите setup.sh, чтобы обновить сервер управления для добавленных узлов Cassandra:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile

Перезапустите все маршрутизаторы и процессоры сообщений

  1. На всех маршрутизаторах:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  2. На всех процессорах сообщений:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Освободите память на существующих узлах Cassandra.

На существующих узлах Cassandra выполните команду nodetool cleanup, чтобы освободить память:

> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP cleanup