Cassandra en entorno de desarrollo y pruebas: no nodes present in the cluster
Tiempo total: 0 días con 8:18:5 hrs
En mi experiencia con Cassandra en entorno de desarrollo y pruebas he dado solución a dos problemas que terminaron con el mensaje “no nodes present in the cluster”, a continuación explicaré que sucedió y como lo resolví.
Exceso de lecturas y escrituras
El primer error lo ocasioné al saturar el cluster Cassandra con una gran cantidad de escrituras y lecturas por segundo, sinceramente no puedes esperar que Cassandra pueda manipular tanta información si el cluster lo tienes en maquinas virtuales en una sola PC con poca RAM y un disco duro físico simple.
El disco duro de uno de los nodos llego a tope
Al momento de entrar a la terminal de comandos CQLSH de Cassandra, obtenía el mensaje Connection refused, ¿por qué? Al investigar y descartar los posibles errores, utilice el comando “df –h” y observé que el disco duro estaba al 100%, ya no había espacio!
Solución
En un entorno de pruebas el primer problema lo resuelves analizando las escrituras y lecturas. El segundo problema lo resuelves aumentando el tamaño de los discos duros y redimensionando las particiones de Linux.
Una vez has dado solución a la raíz del problema el siguiente paso es eliminar la información comprometida al momento de la falla (los registros que debían de guardarse en el cluster Cassandra al momento de la falla).
Has una copia de seguridad de los archivos de la carpeta “commitlog” de Cassandra, luego los eliminas de su ubicación original. De esta manera permitirás que Cassandra reinicie sin problemas.
No entres en pánico
El cluster de Cassandra sigue intacto, puedes analizar los archivos commitlog y restaurar la información si el valor de los datos lo justifica. Utiliza el comando “find” de Linux para encontrar la mencionada carpeta.