2016-11-18 2 views
1

Nous avons un cluster Cassandra 2 nœuds de base. Les deux nœuds exécutent la version 3.9 avec des configurations minimales pour activer le clustering. L'un des nœuds est d'envoyer mauvaise génération qui provoque l'autre noeud pour montrer l'avertissementCassandra a reçu une génération de potins invalide pour un pair

WARN [GossipStage:1] Gossiper.java:1146 - received an invalid gossip generation for peer /10.3.185.234; local time = 1479469393, received generation = 1872927836 

node-1 qui est l'origine du problème a cette sortie de

nodetool gossipinfo 

/10.3.185.234 

generation: 1872927836 

époque 1872927836 est une date loin (Mar, 08 mai 2029 09:43:56 GMT). Le nœud 2 rejette légitimement le paquet. Puis-je en quelque sorte fixer le noeud 1 pour envoyer la bonne génération?

Répondre

4

Correction du problème en modifiant la valeur gossip_generation dans le tableau system.local en utilisant cqlsh

update system.local set gossip_generation = 1479472176 where key='local'; 

Redémarrez le service après ce changement

0

Je ne sais pas quel effet il a la mise en main, mais un autre façon de le réparer est de redémarrer le cluster entier à la fois. Cela aurait probablement fonctionné pour nous. (Trouvé ceci après notre correction).

Les docs disent de faire plusieurs redémarrages jusqu'à ce qu'il soit réparé (ce qui n'a pas fonctionné pour nous.) Le sledgehammer de redémarrer tout le cluster a cependant fonctionné. Toutes les générations ont été définies de manière appropriée.