Ho problemi ad ottenere un nodo Cassandra esistente per unirmi nuovamente al cluster dopo il riavvio (in una nuova istanza della macchina virtuale).Impossibile avviare Cassandra: "il nodo esiste già"
Avevo un cluster Cassandra in esecuzione con 4 nodi tutti in stato "attivo e normale" in base allo stato nodetool. I nodi sono in esecuzione su macchine virtuali in Azure. Ho cambiato il tipo di istanza della macchina virtuale per 10.0.0.6, che è tornato in un riavvio di questa macchina. La macchina è rimasta su 10.0.0.6. Dopo il riavvio non riesco ad avviare nuovamente Cassandra. Ricevo questa eccezione:
INFO 22:39:07 Handshaking version with /10.0.0.4
INFO 22:39:07 Node /10.0.0.6 is now part of the cluster
INFO 22:39:07 Node /10.0.0.5 is now part of the cluster
INFO 22:39:07 Handshaking version with cassandraprd001/10.0.0.6
INFO 22:39:07 Node /10.0.0.9 is now part of the cluster
INFO 22:39:07 Handshaking version with /10.0.0.5
INFO 22:39:07 Node /10.0.0.4 is now part of the cluster
INFO 22:39:07 InetAddress /10.0.0.6 is now UP
INFO 22:39:07 Handshaking version with /10.0.0.9
INFO 22:39:07 InetAddress /10.0.0.4 is now UP
INFO 22:39:07 InetAddress /10.0.0.9 is now UP
INFO 22:39:07 InetAddress /10.0.0.5 is now UP
ERROR 22:39:08 Exception encountered during startup
java.lang.RuntimeException: A node with address cassandraprd001/10.0.0.6 already exists, cancelling join. Use cassandra.replace_address if you want to replace this node.
at org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:455) ~[apache-cassandra-2.1.0.jar:2.1.0]
at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:667) ~[apache-cassandra-2.1.0.jar:2.1.0]
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:615) ~[apache-cassandra-2.1.0.jar:2.1.0]
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:509) ~[apache-cassandra-2.1.0.jar:2.1.0]
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:338) [apache-cassandra-2.1.0.jar:2.1.0]
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:457) [apache-cassandra-2.1.0.jar:2.1.0]
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:546) [apache-cassandra-2.1.0.jar:2.1.0]
java.lang.RuntimeException: A node with address cassandraprd001/10.0.0.6 already exists, cancelling join. Use cassandra.replace_address if you want to replace this node.
at org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:455)
at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:667)
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:615)
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:509)
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:338)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:457)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:546)
Exception encountered during startup: A node with address cassandraprd001/10.0.0.6 already exists, cancelling join. Use cassandra.replace_address if you want to replace this node.
INFO 22:39:08 Announcing shutdown
Sto utilizzando Cassandra 2.1.0. Non sto riproducendo un nodo morto: sto solo cercando di riattivare il vecchio nodo. Secondo lo stato di nodetool (sugli altri nodi) tutti i nodi sono "up e normal" tranne 10.0.0.6 che è "down and normal".
Come si ottiene il riavvio e il funzionamento di questo nodo?
Controllare questo: http://stackoverflow.com/questions/29312965/how-can-the-seemingly-odd-behavior-in-cassandra-cluster-be-explained – jny
quando si è modificato e riavviato il sistema, ha rimosso i dati esistenti? In particolare i dati dello spazio delle chiavi di sistema? In tal caso, dovrai utilizzare l'indirizzo -Directory, anche se si tratta dello stesso nodo. –