2017-09-15 3 views
0

J'ai 4 nœud cluster Cassandra. dont 2 sont en hausse mais 2 sont en baisse. quand je les démarre, ils tombent immédiatement. quand je contrôle à l'aide service cassandra status Je reçois could not access pidfile for cassandra et dans le fichier system.log, l'erreur est:nœud cassandra ne démarre pas

ERROR [main] 2017-09-15 15:44:46,277 CassandraDaemon.java:752 - Exception encountered during startup 
java.lang.NullPointerException: null 
     at org.apache.cassandra.gms.Gossiper.isSafeForStartup(Gossiper.java:756) ~[apache-cassandra-3.10.jar:3.10] 
     at org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:553) ~[apache-cassandra-3.10.jar:3.10] 
     at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:800) ~[apache-cassandra-3.10.jar:3.10] 
     at org.apache.cassandra.service.StorageService.initServer(StorageService.java:666) ~[apache-cassandra-3.10.jar:3.10] 
     at org.apache.cassandra.service.StorageService.initServer(StorageService.java:612) ~[apache-cassandra-3.10.jar:3.10] 
     at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:394) [apache-cassandra-3.10.jar:3.10] 
     at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:601) [apache-cassandra-3.10.jar:3.10] 
     at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:735) [apache-cassandra-3.10.jar:3.10] 
INFO [StorageServiceShutdownHook] 2017-09-15 15:44:46,281 HintsService.java:221 - Paused hints dispatch 
INFO [StorageServiceShutdownHook] 2017-09-15 15:44:46,282 Gossiper.java:1506 - Announcing shutdown 
+1

Quelle version utilisez-vous? – Mandraenke

+1

la version est 3.10 – Vish

+0

Pouvez-vous exécuter une commande 'bin/nodetool status' sur n'importe quel noeud en cours et coller le résultat? Mettez également en surbrillance le noeud qui a lancé l'exception NullPointerException ci-dessus. – Oresztesz

Répondre

0

à partir du code source de Gossiper (link), je pense que vos nœuds sont coincés dans boostrapping phase. D'autres nœuds les voient comme étant déjà amorcés, mais ils n'ont pas réussi à se joindre au cluster. Ce qui pourrait aider à supprimer de force les nœuds bloqués de votre cluster, en utilisant nodetool removenode dans toute autre instance qui était capable de démarrer. Après cela, vous devez nettoyer les données sur les instances bloquées en effaçant le répertoire data (situé dans data/ ou sous system folder, si vous avez installé à partir du package du système d'exploitation) et démarrer les instances une à la fois.

Si vous envoyez le gossipinfo et état de votre cluster, il pourrait aider à comprendre ce que le vrai problème est.

Pour référence supplémentaire see official guide

+0

Merci Oresztesz. J'ai fait la même chose mais pas utilisé l'option removenode. Au lieu de cela, j'ai supprimé les graines du fichier cassandra.yaml, puis j'ai redémarré cassandra pour vérifier s'il fonctionne correctement hors de la grappe. et ça allait bien. J'ai ensuite ajouté les graines au fichier cassandra.yaml. et redémarré le cassandra alors ça marche en cluster aussi. Une chose que j'ai vu dans system.log est qu'il y a un journal qui 'met à jour les informations de topologie pour ce noeud'. Je ne comprends toujours pas quel était le problème, mais cela fonctionne pour moi maintenant. – Vish