Como adicionar nós do Cassandra

Edge para nuvem privada v4.18.05

Neste documento, descrevemos como adicionar três novos nós do Cassandra a um Edge para instalação de nuvem privada.

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

Confira a lista dos requisitos do sistema para um nó do Cassandra em Requisitos de instalação.

Configuração atual do Edge

Todas as topologias de borda compatíveis com 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

Observe que a propriedade REGION especifica o nome da região como "dc-1". Você precisa 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" 

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

Configurar Edge

Depois de editar o arquivo de configuração, faça o seguinte:

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

Reconfigure os nós atuais do Cassandra

Nos nós atuais do Cassandra:

  1. Execute novamente setup.sh 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 apigee-setup no primeiro nó, conforme descrito em Instalar o utilitário de configuração da Apigee Apigee.
    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 novos nós restantes do Cassandra.
  2. Recrie 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 novos nós restantes do Cassandra.

Reconfigurar o servidor de gerenciamento

Em um nó do servidor de gerenciamento

  1. Execute setup.sh novamente para atualizar o servidor de gerenciamento dos 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 restart
  2. Em todos os processadores de mensagens:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Memória livre nos nós do Cassandra

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

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