Agrega nodos de Cassandra

Edge para la nube privada v4.19.01

En este documento, se describe cómo agregar tres nodos de Cassandra nuevos a una instalación de Edge existente en la nube privada.

Si bien puedes agregar uno o dos nodos de Cassandra a una instalación perimetral existente, Apigee recomienda agregar tres nodos a la vez.

Si deseas obtener una lista de los requisitos del sistema para un nodo de Cassandra, consulta Requisitos de instalación.

Configuración de Edge existente

Todas las topologías de Edge compatibles con un sistema de producción especifican que se deben usar tres nodos de Cassandra. Los tres nodos se especifican en la propiedad CASS_HOSTS en el archivo de configuración como se muestra a continuación:

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

Ten en cuenta que la propiedad REGION especifica el nombre de la región como “dc-1”. Necesitas esa información cuando agregas los nodos de Cassandra nuevos.

Modificar el archivo de configuración para agregar los tres nodos de Cassandra nuevos

En este ejemplo, los tres nodos de Cassandra nuevos están en las siguientes direcciones IP:

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

Primero, debes actualizar el archivo de configuración de Edge para agregar los nodos nuevos:

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" 

Esto garantiza que los nodos existentes conserven su configuración inicial de token, y que el token inicial de cada nodo nuevo esté entre los valores de token de los nodos existentes.

Configura Edge

Después de editar el archivo de configuración, debes hacer lo siguiente:

  • Vuelve a configurar los nodos de Cassandra existentes
  • Instala Cassandra en los nodos nuevos
  • Vuelve a configurar el servidor de administración

Reconfigura los nodos de Cassandra existentes

En los nodos de Cassandra existentes, haz lo siguiente:

  1. Vuelve a ejecutar setup.sh con el perfil “-p c” y el nuevo archivo de configuración:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile

Instala Cassandra en los nodos nuevos

En cada nodo de Cassandra nuevo:

  1. Instala Cassandra en los tres nodos:
    1. Instala apigee-setup en el primer nodo como se describe en Instala la utilidad apigee-setup de Edge.
    2. Instala Cassandra en el primer nodo con el archivo de configuración actualizado:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. Repite estos dos pasos para los nodos de Cassandra nuevos restantes.
  2. Vuelve a compilar los tres nodos de Cassandra nuevos y especifica el nombre de región que estableció la propiedad REGION en el archivo de configuración. En este ejemplo, es “dc-1”:
    1. En el primer nodo, ejecuta
      /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h nodeIP rebuild dc-1
      .

      Donde nodeIP es la dirección IP del nodo de Cassandra.

      Solo tienes que pasar tu nombre de usuario y contraseña si habilitaste la autenticación JMX para Cassandra.

    2. Repite este paso en los nodos de Cassandra nuevos restantes.

Vuelve a configurar el servidor de administración

En un nodo del servidor de administración

  1. Vuelve a ejecutar setup.sh para actualizar el servidor de administración para los nodos de Cassandra recién agregados:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile

Reinicia todos los routers y procesadores de mensajes

  1. En todos los routers:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  2. En todos los procesadores de mensajes:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Espacio libre en disco en los nodos de Cassandra existentes

Después de agregar un nodo nuevo, puedes usar el comando nodetool cleanup en los nodos preexistentes para liberar espacio en el disco. Este comando borra los tokens de configuración que ya no son propiedad del nodo de Cassandra preexistente.

Para liberar espacio en el disco en los nodos de Cassandra preexistentes después de agregar un nodo nuevo, ejecuta el siguiente comando:

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

Solo tienes que pasar tu nombre de usuario y contraseña si habilitaste la autenticación JMX para Cassandra.

Verifica la recompilación

Usa los siguientes comandos para verificar que la recompilación se haya realizado correctamente:

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

Este comando debe indicar MODE: Normal cuando el nodo está activo y se compilan los índices.

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

Debe indicar que el servidor de segunda mano está en ejecución, lo que permite que Cassandra acepte solicitudes de clientes nuevas.

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

Debe indicar que se está ejecutando el transporte nativo (o protocolo binario).

nodetool describecluster

Debería mostrar que los nodos nuevos usan la misma versión de esquema que los nodos anteriores.

Para obtener más información sobre el uso de nodetool, consulta la documentación de uso de nodetool.