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.