En esta sección, se describen las tareas de mantenimiento periódico de Cassandra.
Mantenimiento de anti-entropía
Los nodos de anillo de Apache Cassandra requieren mantenimiento periódico para garantizar la coherencia en todos los nodos. Para realizar este mantenimiento, usa el siguiente comando:
apigee-service apigee-cassandra apigee_repair -pr
Apigee recomienda lo siguiente cuando se ejecuta este comando:
- Ejecutar en cada nodo de Cassandra (en todas las regiones o centros de datos)
Ejecutar en un nodo a la vez para garantizar la coherencia en todos los nodos del anillo Ejecutar trabajos de reparación en varios nodos al mismo tiempo puede afectar el estado de Cassandra.
Para verificar si un trabajo de reparación en un nodo se completó correctamente, busca en el archivo del nodo's
system.loguna entrada con el UUID de la sesión de reparación más reciente y la frase "session completed successfully." Esta es una entrada de registro de muestra:INFO [AntiEntropySessions:1] 2015-03-01 10:02:56,245 RepairSession.java (line 282) [repair #2e7009b0-c03d-11e4-9012-99a64119c9d8] session completed successfully" Ref: https://support.datastax.com/hc/en-us/articles/204226329-How-to-check-if-a-scheduled-nodetool-repair-ran-successfully
- Ejecutar durante períodos de carga de trabajo relativamente baja (la herramienta impone una carga significativa en el sistema)
- Ejecutar al menos cada siete días para eliminar problemas relacionados con las "eliminaciones olvidadas" de Cassandra.
- Ejecutar en diferentes nodos en diferentes días o programarlo de modo que haya varias horas entre la ejecución en cada nodo
- Usar la opción
-pr(rango de particionador) para especificar solo el rango de particionador principal del nodo.
Si habilitaste la autenticación JMX para Cassandra,
debes incluir el nombre de usuario y la contraseña cuando invocas nodetool. Por ejemplo:
apigee-service apigee-cassandra apigee_repair -u username -pw password -pr
También puedes ejecutar el siguiente comando para verificar las opciones compatibles de apigee_repair:
apigee-service apigee-cassandra apigee_repair -h
Nota: apigee_repair es un wrapper alrededor de la reparación de nodetool de Cassandra,
que realiza verificaciones adicionales antes de realizar la reparación de Cassandra.
Para obtener más información, consulta los siguientes recursos:
Mantenimiento de archivos de registro
Los registros de Cassandra se almacenan en el directorio /opt/apigee/var/log/apigee-cassandra de
cada nodo. De forma predeterminada, se pueden crear un máximo de 50 archivos de registro, cada uno con un tamaño máximo de 20 MB. Una vez que se alcanza este límite, se borran los registros más antiguos cuando se crean registros más nuevos.
Si descubres que los archivos de registro de Cassandra ocupan demasiado espacio, puedes modificar la cantidad de espacio asignado a los archivos de registro editando la configuración de log4j.
- Edita
/opt/apigee/customer/application/cassandra.propertiespara establecer las siguientes propiedades. Si ese archivo no existe, créalo:conf_logback_maxfilesize=20MB # max file size conf_logback_maxbackupindex=50 # max open files
- Reinicia Cassandra con el siguiente comando:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
Mantenimiento del espacio en disco
Debes supervisar la utilización del disco de Cassandra con regularidad para asegurarte de que al menos el 50% de cada disco esté libre. Si la utilización del disco supera el 50%, te recomendamos que agregues más espacio en el disco para reducir el porcentaje que está en uso.
Cassandra realiza automáticamente las siguientes operaciones para reducir su propia utilización del disco:
- Borrado de tokens de autenticación cuando vencen Sin embargo, puede tardar un par de semanas en liberar el espacio en el disco que usaban los tokens, según tu configuración. Si el borrado automático no es adecuado para mantener suficiente espacio en el disco, comunícate con el equipo de asistencia para obtener información sobre cómo borrar tokens de forma manual para recuperar espacio.
Compactación de datos: A partir de Edge para la nube privada 4.51.00, las nuevas instalaciones de Apigee Cassandra crean espacios de claves con la estrategia de compactación por niveles.
Las instalaciones de versiones anteriores de Edge para nube privada que se actualizaron a Edge para nube privada 4.54.00 conservan la estrategia de compactación anterior. Si la estrategia de compactación existente es
SizeTieredCompactionStrategy, Apigee recomienda cambiar aLeveledCompactionStrategy, que proporciona una mejor utilización del disco. Para obtener instrucciones, consulta Cambia la estrategia de compactación de Cassandra.
Nota: Cuando Cassandra realiza compactaciones de datos, puede tomar una cantidad considerable de ciclos de CPU
y memoria. Sin embargo, la utilización de recursos debería volver a la normalidad una vez que se completen las compactaciones.
Puedes ejecutar el comando 'Nodetool compactionstats' en cada nodo
para verificar si se está ejecutando la compactación. El resultado de compactionstats te informa si hay
compactaciones pendientes para ejecutar y el tiempo estimado para completarlas.