Como adicionar nós do Cassandra

Edge para nuvem privada v4.18.01

Este documento descreve como adicionar três novos nós do Cassandra a uma instalação do Edge para nuvem privada.

Embora seja possível adicionar um ou dois nós do Cassandra a uma instalação do Edge, a Apigee recomenda que você adicione três nós por vez.

Para uma lista dos requisitos do sistema para um nó do Cassandra, consulte Requisitos de instalação.

Configuração do Edge atual

Todas as topologias de borda com suporte para um sistema de produção especificam o uso de três nós do Cassandra. Os três nós são especificados para a propriedade CASS_HOSTS no arquivo de configuração, conforme mostrado abaixo:

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       

A propriedade REGION especifica o nome da região como "dc-1". Você vai precisar dessas informações ao adicionar os novos nós do Cassandra.

Modificar o arquivo de configuração para adicionar os três novos nós do Cassandra

Neste exemplo, os três novos nós do Cassandra estão nos seguintes endereços IP:

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

Primeiro, atualize o arquivo de configuração do Edge para adicionar os novos nós:

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" 

Importante: adicione cada novo nó do Cassandra a CASS_HOSTS após um nó atual.

Isso garante que os nós atuais mantenham as configurações iniciais do token, e que o token inicial de cada novo nó esteja entre os valores de token dos nós atuais.

Configurar o Edge

Depois de editar o arquivo de configuração, você precisa fazer o seguinte:

  • Reconfigurar os nós do Cassandra
  • Instalar o Cassandra nos novos nós
  • Reconfigurar o servidor de gerenciamento

Reconfigure os nós do Cassandra.

Nos nós atuais do Cassandra:

  1. Execute o setup.sh novamente com o perfil "-p c" e o novo arquivo de configuração:
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile

Instalar o Cassandra nos novos nós

Em cada novo nó do Cassandra:

  1. Instale o Cassandra nos três nós:
    1. Instale o apigee-setup no primeiro nó, conforme descrito em Instalar o utilitário Edge apigee-setup.
    2. Instale o Cassandra no primeiro nó usando o arquivo de configuração atualizado:
      > /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. Repita essas duas etapas para os outros nós novos do Cassandra.
  2. Refazer os três novos nós do Cassandra, especificando o nome da região definido no arquivo de configuração pela propriedade REGION. Neste exemplo, é "dc-1":
    1. No primeiro nó, execute:
      > /opt/apigee/apigee-cassandra/bin/nodetool -h nodeIP rebuild dc-1
      em que nodeIP é o endereço IP do nó do Cassandra.
    2. Repita essa etapa nos nós novos restantes do Cassandra.

Reconfigurar o servidor de gerenciamento

Em um nó de servidor de gerenciamento

  1. Execute o setup.sh novamente para atualizar o servidor de gerenciamento para os nós do Cassandra recém-adicionados:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile

Reiniciar todos os roteadores e processadores de mensagens

  1. Em todos os roteadores:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router reboot
  2. Em todos os processadores de mensagens:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Liberar memória nos nós do Cassandra

Nos nós atuais do Cassandra, execute o comando cleanup do nodetool para liberar memória:

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