En esta página, se describe cómo recuperar o restablecer Cassandra en varias regiones.
En una implementación multirregional, Apigee Hybrid se implementa en varias ubicaciones geográficas en diferentes centros de datos. Si una o más regiones fallan, pero permanecen regiones en buen estado, puedes usar una región en buen estado para recuperar regiones con errores de Cassandra con los datos más recientes.
En caso de una falla catastrófica de todas las regiones híbridas, Cassandra se puede restablecer. Es importante tener en cuenta que, si tienes varias organizaciones de Apigee en tu implementación, el proceso de restablecimiento restablece los datos de todas las organizaciones. En una configuración de varias organizaciones, no se admite restablecer solo una organización específica.
En este tema, se describen ambos enfoques para recuperar las regiones con errores:
- Recuperar regiones con errores: Describe los pasos para recuperar regiones con errores en función de una región en buen estado.
- Restablecer regiones con errores: Describe los pasos para restablecer regiones con errores desde una copia de seguridad. Este enfoque solo es necesario si todas las regiones híbridas se ven afectadas.
Recupera las regiones con errores
Para recuperar regiones con errores a partir de una región en buen estado, sigue estos pasos:
- Redirecciona el tráfico de la API de las regiones afectadas a la región que funciona. Planifica la capacidad según corresponda para admitir el tráfico desviado de las regiones con errores.
- Quita la región afectada. Para cada región afectada, sigue los pasos descritos en Retira una región híbrida. Espera a que se complete el retiro antes de continuar con el siguiente paso.
- Restablece la región afectada. Para restablecer, crea una región nueva, como se describe en Implementación multirregional en GKE, GKE On-Prem y AKS.
Restablece a partir de una copia de seguridad
La copia de seguridad de Cassandra puede residir en Cloud Storage o en un servidor remoto según la configuración. Para restablecer Cassandra desde una copia de seguridad, realiza los siguientes pasos:
- Abre el archivo de anulaciones para la región que deseas restablecer.
- Establece
cassandra:hostNetwork
enfalse
. - Aplica el archivo de anulaciones:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace apigee \ -f OVERRIDES_FILE
- Antes de continuar, asegúrate de que
hostNetwork
esté configurado comofalse
:kubectl -n apigee get apigeeds -o=jsonpath='{.items[].spec.components.cassandra.hostNetwork}'
- Borra los componentes híbridos de la región que estás restableciendo:
helm delete DATASTORE_RELEASE_NAME \ --namespace apigee
En el ejemplo anterior, DATASTORE_RELEASE_NAME es el nombre de la versión del almacén de datos en el que instalaste Cassandra en la región, por ejemplo,
datastore-region1
. -
Restablece la región deseada a partir de una copia de seguridad. Para obtener más información, consulta Restablece una región a partir de una copia de seguridad.
- Quita las referencias de las regiones borradas y agrega las referencias de las regiones restablecidas en los metadatos
KeySpaces
. - Obtén el nombre del centro de datos de Cassandra con la opción
nodetool status
.kubectl exec -n apigee -it apigee-cassandra-default-0 -- bash nodetool -u APIGEE_JMX_USER -pw APIGEE_JMX_PASSWORD status |grep -i Datacenter
Donde:
- APIGEE_JMX_USER es el nombre de usuario para el usuario de operaciones de Cassandra JMX. Se usa para autenticar y comunicarse con la interfaz de Cassandra JMX. Consulta
cassandra:auth:jmx:username
. - APIGEE_JMX_PASSWORD es la contraseña para el usuario de operaciones de Cassandra JMX.
Consulta
cassandra:auth:jmx:password
.
- APIGEE_JMX_USER es el nombre de usuario para el usuario de operaciones de Cassandra JMX. Se usa para autenticar y comunicarse con la interfaz de Cassandra JMX. Consulta
- Actualiza la replicación
KeySpaces
.- Crea un contenedor de cliente y conéctate al clúster de Cassandra a través de la interfaz de CQL.
- Obtén la lista de espacios de claves de usuario de la interfaz de CQL:
cqlsh CASSANDRA_SEED_HOST -u APIGEE_DDL_USER -p APIGEE_DDL_PASSWORD --ssl -e "select keyspace_name from system_schema.keyspaces;"|grep -v system
Donde:
- CASSANDRA_SEED_HOST es el host de origen multirregión de Cassandra. Para la mayoría de las instalaciones multirregionales, usa la dirección IP de un host en tu primera región. Consulta Configura Apigee Hybrid para multirregión y
cassandra:externalSeedHost
. - APIGEE_DDL_USER y APIGEE_DDL_PASSWORD son el nombre de usuario y la contraseña del administrador para el usuario del lenguaje de definición de datos (DDL) de Cassandra. Los valores predeterminados son “
ddl_user
” y “iloveapis123
”.Consulta
cassandra.auth.ddl.password
en la referencia de las propiedades de configuración y las Opciones de la línea de comandos en la documentación de cqlsh de Apache Cassandra.
- CASSANDRA_SEED_HOST es el host de origen multirregión de Cassandra. Para la mayoría de las instalaciones multirregionales, usa la dirección IP de un host en tu primera región. Consulta Configura Apigee Hybrid para multirregión y
- En cada espacio de clave, ejecuta el siguiente comando desde la interfaz de CQL para actualizar la configuración de la replicación:
ALTER KEYSPACE KEYSPACE_NAME WITH replication = {'class': 'NetworkTopologyStrategy', 'DATACENTER_NAME':3};
Donde:
- KEYSPACE_NAME es el nombre del espacio de claves que aparece en el resultado del paso anterior.
- DATACENTER_NAME es el nombre del centro de datos de Cassandra que obtuviste con la
opción
nodetool status
en el paso 8.