significa - cassandra-Nombre de clúster guardado Test Cluster!=nombre configurado
significado de nombres (6)
Los comandos anteriores con UPDATE SET cluster_name
no funcionan para mí. Descubrí que el trabajo es seguir las instrucciones de la documentación de DataStax sobre la Inicialización de un clúster de múltiples nodos :
sudo service cassandra stop
sudo rm -rf /var/lib/cassandra/data/system/*
sudo vi /etc/cassandra/cassandra.yaml, setup the proper parameters
sudo service cassandra start
nodetool status
Para algunas buenas configuraciones de nodo de clúster, encontré que esta publicación de blog es muy útil.
¿Cómo se supone que debo botar un nuevo nodo Cassandra cuando recibo este error?
INFO [SSTableBatchOpen:1] 2014-02-25 01:51:17,132 SSTableReader.java (line 223) Opening /var/lib/cassandra/data/system/local/system-local-jb-5 (5725 bytes)
ERROR [main] 2014-02-25 01:51:17,377 CassandraDaemon.java (line 237) Fatal exception during initialization
org.apache.cassandra.exceptions.ConfigurationException: Saved cluster name Test Cluster != configured name thisisstupid
at org.apache.cassandra.db.SystemKeyspace.checkHealth(SystemKeyspace.java:542)
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:233)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:462)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:552)
El nombre del cluster en el archivo cassandra.yaml es:
cluster_name: ''thisisstupid''
¿Cómo resuelvo?
Para Cassandra 3.0.5, cansé la respuesta de Lyuben Todorov pero faltaba una parte clave:
bash $ ./nodetool flush
debiera ser:
bash $ ./nodetool flush system
como here
Para Cassandra 3.7 debe reemplazar el ./nodetool flush
con el ./nodetool flush system
. De lo contrario no funcionará.
Puede cambiar el nombre del clúster sin eliminar los datos actualizando su nombre en la tabla system.local (pero debe hacer esto para cada nodo ...)
cqlsh> UPDATE system.local SET cluster_name = ''test'' where key=''local'';
# flush the sstables to persist the update.
bash $ ./nodetool flush
Finalmente, debe cambiar el nombre del clúster al nuevo nombre en cassandra.yaml (nuevamente en cada nodo )
Si cassandra
no se está ejecutando, puede borrar la carpeta de datos.
rm -rf /usr/lib/cassandra/data/*
Esto borrará las tablas del sistema que tenían el nombre de clúster incorrecto. / Cuando reinicie cassandra
con el nombre de clúster correcto en su cassandra.yaml
todo se regenerará y debería estar bien.
Tuve el mismo problema con la edición empresarial Datastax4.7. Lo resolví con las instrucciones anteriores:
Cambie el nombre del clúster de nuevo a "clúster de prueba"
iniciar el clúster:
cqlsh> UPDATE system.local SET cluster_name = ''Cassendra Cluster'' where key=''local'';
cqlsh> exit;
$ nodetool flush system
Detener el clúster:
$sudo service dse stop;sudo service datastax-agent stop
Edita el archivo:
$ sudo vi /etc/dse/cassandra/cassandra.yaml
cluster_name: ''Cassendra Cluster''
Iniciar el clúster:
$sudo service dse start;sudo service datastax-agent start
Verifique el registro de instalación:
$ cat /var/log/cassandra/output.log