Como adicionar nós do Cassandra

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

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

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

Configuração atual do Edge

Todas as topologias do Edge 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ê 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" 

Isso garante que os nós atuais mantenham as configurações de token iniciais 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:

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

Reconfigurar os nós atuais do Cassandra

Nos nós atuais do Cassandra:

  1. Execute novamente o 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

Siga o procedimento abaixo para 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 apigee-setup do Edge.
    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 demais nós novos do Cassandra.
  2. Recrie os três novos nós do Cassandra, especificando o nome da região como o data center em que você está adicionando o nó (dc-1, dc-2 etc.). Neste exemplo, é dc-1:
    1. No primeiro nó, execute:
      /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h nodeIP rebuild dc-1

      Em que nodeIP é o endereço IP do nó do Cassandra.

      Você só precisa transmitir seu nome de usuário e senha se tiver ativado a autenticação JMX para o Cassandra.

    2. Repita essa etapa nos novos nós restantes do Cassandra.

Reconfigurar o servidor de gerenciamento

Em um nó do Management-Server

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

Reinicie 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

Liberar espaço em disco nos nós atuais do Cassandra

Depois de adicionar um novo nó, use o comando nodetool cleanup nos nós pré-existentes para liberar espaço em disco. Esse comando limpa os tokens de configuração que não pertencem mais ao nó do Cassandra preexistente.

Para liberar espaço em disco nos nós do Cassandra preexistentes depois de adicionar um novo nó, execute o seguinte comando:

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

Você só precisa transmitir seu nome de usuário e senha se tiver ativado a autenticação JMX para o Cassandra.

Verificar recriação

Use os seguintes comandos para verificar se a recriação foi bem-sucedida:

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

Esse comando vai indicar MODE: Normal quando o nó estiver ativo e os índices forem criados.

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

Deve indicar que o servidor Thrift está em execução, o que permite que o Cassandra aceite novas solicitações de clientes.

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

Deve indicar que o transporte nativo (ou protocolo binário) está em execução.

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

Deve mostrar que os novos nós estão usando a mesma versão de esquema que os nós mais antigos.

Para mais informações sobre como usar nodetool, consulte a documentação de uso do nodetool.