cassandra – Nom du cluster enregistré Test Cluster! = nom configuré

Comment est-ce que je suis censé botter un nouveau noeud Cassandra quand je reçois cette erreur?

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) 

Le nom du cluster dans le fichier cassandra.yaml est le suivant:

 cluster_name: 'thisisstupid' 

Comment puis-je résoudre?

Vous pouvez renommer le cluster sans supprimer de données en mettant à jour son nom dans la table system.local (mais vous devez le faire pour chaque noeud …)

 cqlsh> UPDATE system.local SET cluster_name = 'test' where key='local'; # flush the sstables to persist the update. bash $ ./nodetool flush 

Enfin, vous devez renommer le cluster en nouveau nom dans cassandra.yaml (à nouveau sur chaque nœud )

J’ai eu le même problème avec Datastax4.7 Enterprise Edition. Je l’ai résolu avec les instructions ci-dessus:

Remplacez le nom du cluster par “test cluster”

démarrer le cluster:

 cqlsh> UPDATE system.local SET cluster_name = 'Cassendra Cluster' where key='local'; cqlsh> exit; $ nodetool flush system 

Arrêtez le cluster:

 $sudo service dse stop;sudo service datastax-agent stop 

Editez le fichier:

 $ sudo vi /etc/dse/cassandra/cassandra.yaml cluster_name: 'Cassendra Cluster' 

Démarrer le cluster:

 $sudo service dse start;sudo service datastax-agent start 

Vérifiez le journal d’installation:

  $ cat /var/log/cassandra/output.log 

Les commandes ci-dessus avec UPDATE SET cluster_name ne fonctionnent pas pour moi. J’ai trouvé le travail de suivre les instructions de la documentation DataStax sur l’ initialisation d’un cluster à plusieurs nœuds :

 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 

Pour certaines configurations de nœuds de cluster, j’ai trouvé cet article très utile.

Pour Cassandra 3.0.5, j’ai fatigué la réponse de Lyuben Todorov mais il manquait un élément clé:

 bash $ ./nodetool flush 

devrait être:

 bash $ ./nodetool flush system 

comme ici

Pour Cassandra 3.7, vous devez remplacer le ./nodetool flush ./nodetool flush system . Sinon, cela ne fonctionnera pas.

Si cassandra ne fonctionne pas, vous pouvez effacer le dossier de données.

 rm -rf /usr/lib/cassandra/data/* 

Cela effacera les tables système dont le nom du cluster était incorrect. \ Lorsque vous redémarrez cassandra avec le nom de cluster correct dans votre cassandra.yaml tout sera régénéré et vous devriez être bon.