En esta sección, se proporciona una guía general para escalar operaciones de Cassandra haciendo que Cassandra en Apigee Edge para la nube privada reconozca los bastidores.
Para obtener más información sobre por qué es importante que el bastidor de llamadas Cassandra sea importante, consulta los siguientes recursos:
- Replicación (documentación de Cassandra)
- Estrategia del factor de replicación y arquitectura de Cassandra
¿Qué es un bastidor?
Un bastidor de Cassandra es una agrupación lógica de nodos de Cassandra dentro del anillo. Cassandra usa bastidores para garantizar que las réplicas se distribuyan entre diferentes agrupaciones lógicas. Como resultado, las operaciones se envían no solo a un nodo, sino a varios nodos, cada uno en un bastidor independiente, lo que proporciona una mayor tolerancia a errores y disponibilidad.
En los ejemplos de esta sección, se usan tres bastidores de Cassandra, que es la cantidad de bastidores que admite Apigee en topologías de producción.
La instalación predeterminada de Cassandra en Apigee Edge para la nube privada supone un solo bastidor lógico y coloca todos los nodos en un centro de datos dentro de él. Aunque esta configuración es fácil de instalar y administrar, es susceptible de fallas si falla una operación en uno de esos nodos.
En la siguiente imagen, se muestra la configuración predeterminada de la rueda de Cassandra:

En una configuración más sólida, cada nodo se asignaría a un bastidor independiente, y las operaciones también se ejecutarían en réplicas de cada uno de esos bastidores.
En la siguiente imagen, se muestra un anillo de 3 nodos. En esta imagen, se muestra el orden en que se replican las operaciones en el anillo (en el sentido de las manecillas del reloj) y se destaca el hecho de que no hay dos nodos en el mismo bastidor:

En esta configuración, las operaciones se envían a un nodo, pero también a réplicas de ese nodo en otros bastidores (en el sentido de las manecillas del reloj).
Agrega reconocimiento de bastidor (con 3 nodos)
Todas las topologías de instalación de producción de Apigee Edge para nube privada tienen al menos tres nodos de Cassandra, a los que se hace referencia en esta sección como “IP1”, “IP2” y “IP3”. De forma predeterminada, cada uno de estos nodos se encuentra en el mismo bastidor, “ra-1”.
En esta sección, se describe cómo asignar los nodos de Cassandra a bastidores separados para que todas las operaciones se envíen a los nodos de réplica en agrupaciones lógicas independientes dentro del anillo.
Para asignar nodos de Cassandra a diferentes bastidores durante la instalación, sigue estos pasos:
- Antes de ejecutar el instalador, accede al nodo de Cassandra y abre el siguiente archivo de configuración silencioso para editarlo:
/opt/silent.conf
Crea el archivo si no existe y asegúrate de que el usuario de “apigee” sea propietario.
- Edita la propiedad
CASS_HOSTS
, una lista de direcciones IP separadas por espacios (no entradas de DNS ni de nombre de host) que usa la siguiente sintaxis:CASS_HOSTS="IP_address:data_center_number,rack_number [...]"
El valor predeterminado es un anillo de Cassandra de tres nodos, con cada nodo asignado al bastidor 1 y al centro de datos 1, como se muestra en el siguiente ejemplo:
CASS_HOSTS="IP1:1,1 IP2:1,1 IP3:1,1"
- Cambia las asignaciones del bastidor para que el nodo 2 se asigne al bastidor 2 y el nodo 3, al bastidor 3, como se muestra en el siguiente ejemplo:
CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"
Cuando cambias las asignaciones de bastidores, le indicas a Cassandra que cree dos agrupaciones lógicas adicionales (bastidores), que luego proporcionan réplicas que reciben todas las operaciones que recibe el primer nodo.
Para obtener más información sobre el uso de la propiedad de configuración
CASS_HOSTS
, consulta Referencia del archivo de configuración de Edge. - Guarda los cambios en el archivo de configuración y ejecuta el siguiente comando para instalar Cassandra con la configuración actualizada:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f path/to/silent/config
Por ejemplo:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f /opt/silent.conf
- Repite este procedimiento para cada nodo de Cassandra en el anillo, en el orden en que se asignan los nodos en la propiedad
CASS_HOSTS
. En este caso, debes instalar Cassandra en el siguiente orden:- Nodo 1 (IP1)
- Nodo 2 (IP2)
- Nodo 3 (IP3)
Después de la instalación, debes verificar la configuración de Cassandra.
Comprueba la configuración de Cassandra
Después de instalar una configuración de Cassandra con reconocimiento de bastidores, puedes verificar que los nodos estén asignados a los diferentes bastidores mediante el comando nodetool status
, como se muestra en el siguiente ejemplo:
/opt/apigee/apigee-cassandra/bin/nodetool status
(Ejecutas este comando en uno de los nodos de Cassandra).
Los resultados deberían ser similares a los siguientes, en el que la columna Rack muestra los diferentes ID de bastidor para cada nodo:
Datacenter: dc-1 ======================== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns Host ID Rack UN IP1 737 MB 256 ? 554d4498-e683-4a53-b0a5-e37a9731bc5c ra-1 UN IP2 744 MB 256 ? cf8b7abf-5c5c-4361-9c2f-59e988d52da3 ra-2 UN IP3 723 MB 256 ? 48e0384d-738f-4589-aa3a-08dc5bd5a736 ra-3
Si habilitaste la autenticación JMX para Cassandra, también debes pasar tu nombre de usuario y contraseña a nodetool
. Si deseas obtener más información, consulta Usa nodetool para administrar los nodos del clúster.
Instala un anillo de seis nodos
Para obtener redundancia adicional, puedes expandir el anillo de Cassandra a seis nodos. En este caso, asignarás dos nodos a cada uno de los tres bastidores. Esta configuración requiere tres nodos adicionales: Nodo 4 (IP4), Nodo 5 (IP5) y Nodo 6 (IP6).
En la siguiente imagen, se muestra el orden en que se replican las operaciones en el anillo (en el sentido de las manecillas del reloj) y se destaca el hecho de que durante la replicación no hay dos nodos adyacentes en el mismo bastidor:

En esta configuración, cada nodo tiene dos réplicas más: una en cada uno de los otros dos bastidores. Por ejemplo, el nodo 1 del bastidor 1 tiene una réplica en el bastidor 2 y el bastidor 3. Las operaciones enviadas al nodo 1 también se envían a las réplicas de los otros bastidores, en el sentido de las manecillas del reloj.
Para expandir un anillo de Cassandra de tres nodos a uno de Cassandra de seis nodos, configura los nodos de la siguiente manera en tu archivo de configuración silencioso:
CASS_HOSTS="IP1:1,1 IP4:1,3 IP2:1,2 IP5:1,1 IP3:1,3 IP6:1,2"
Al igual que con un anillo de tres nodos, debes instalar Cassandra en el mismo orden en el que aparecen los nodos en la propiedad CASS_HOSTS
:
- Nodo 1 (IP1)
- Nodo 4 (IP4)*
- Nodo 2 (IP2)
- Nodo 5 (IP5)
- Nodo 3 (IP3)
- Nodo 6 (IP6)
* Realiza los cambios en el archivo de configuración silencioso antes de ejecutar la utilidad de configuración en el cuarto nodo (la segunda máquina del pedido de instalación de Cassandra).
Expandir a 12 nodos
Para aumentar aún más la tolerancia a errores y la disponibilidad, puedes aumentar la cantidad de nodos de Cassandra en el anillo de seis a 12. Esta configuración requiere seis nodos adicionales (de IP7 a IP12).
En la siguiente imagen, se muestra el orden en que se replican las operaciones en el anillo (en el sentido de las manecillas del reloj) y se destaca el hecho de que durante la replicación no hay dos nodos adyacentes en el mismo bastidor:

El procedimiento para instalar un anillo de 12 nodos es similar a instalar un anillo de tres o seis nodos: configura CASS_HOSTS
en los valores dados y ejecuta el instalador en el orden especificado.
Para expandirte a un anillo de Cassandra de 12 nodos, configura los nodos de la siguiente manera en tu archivo de configuración silencioso:
CASS_HOSTS="IP1:1,1 IP7:1,2 IP4:1,3 IP8:1,1 IP2:1,2 IP9:1,3 IP5:1,1 IP10:1,2 IP3:1,3 IP11:1,1 IP6:1,2 IP12:1,3"
Al igual que con los anillos de tres y seis nodos, debes ejecutar el instalador en los nodos en el orden en que aparecen en el archivo de configuración:
- Nodo 1 (IP1)
- Nodo 7 (IP7)*
- Nodo 4 (IP4)
- Nodo 8 (IP8)
- Nodo 2 (IP2)
- Nodo 9 (IP9)
- Nodo 5 (IP5)
- Nodo 10 (IP10)
- Nodo 3 (IP3)
- Nodo 11 (IP11)
- Nodo 6 (IP6)
- Nodo 12 (IP12)
* Debes realizar estos cambios antes de instalar Apigee Edge para la nube privada en el séptimo nodo (la segunda máquina en el orden de instalación de Cassandra).