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

Edge for Private Cloud 4.19.01

В этом документе описывается, как добавить три новых узла 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" 

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

Настройка 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 на первый узел, как описано в разделе Установка утилиты apigee-setup для Edge.
    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 [-u username -pw password] -h nodeIP rebuild dc-1

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

      Имя пользователя и пароль нужно передавать, только если вы включили аутентификацию JMX для Cassandra.

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

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

На узле Management-Server

  1. Чтобы обновить сервер управления для добавленных узлов Cassandra, повторно запустите setup.sh:
    /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.

После добавления нового узла вы можете использовать команду nodetool cleanup на существующих узлах, чтобы освободить место на диске. Эта команда очищает токены конфигурации, которые больше не принадлежат существующему узлу Cassandra.

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

/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup

Имя пользователя и пароль нужно передавать, только если вы включили аутентификацию JMX для Cassandra.

Проверка пересборки

Чтобы убедиться, что пересборка прошла успешно, используйте следующие команды:

nodetool [-u username -pw password] -h nodeIP netstats

Когда узел будет запущен и индексы будут созданы, эта команда должна вернуть значение MODE: Normal.

nodetool [-u username -pw password] -h nodeIP statusthrift

Должно быть указано, что сервер Thrift работает. Это позволяет Cassandra принимать новые запросы клиентов.

nodetool [-u username -pw password] -h nodeIP statusbinary

Должно быть указано, что нативный транспорт (или двоичный протокол) запущен.

nodetool describecluster

Новые узлы должны использовать ту же версию схемы, что и старые.

Дополнительную информацию об использовании nodetool можно найти в документации по nodetool.