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

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

На каждом новом узле 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, указав в качестве названия региона центр обработки данных, в который вы добавляете узел (dc-1, dc-2 и т. д.). В этом примере это 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. Повторно запустите 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

После добавления нового узла можно использовать команду 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 [-u username -pw password] -h nodeIP describecluster

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

Подробнее об использовании nodetool рассказывается в документации по использованию nodetool.