2 votes

Le remplacement d'un nœud Cassandra avec le drapeau replace_address renvoie "Cannot replace address with a node that is already bootstrapped" (Impossible de remplacer l'adresse par un nœud d

J'utilise Cassandra 3.9 et les données d'un des nœuds ont été corrompues, j'ai donc dû l'effacer complètement. Je veux le redémarrer et récupérer toutes les données des autres nœuds.

Utilisation JVM_OPTS="$JVM_OPTS -Dcassandra.replace_address=xx.xx.xx.xx me donne l'erreur suivante Node already bootstrapped puisque l'adresse IP est la même. Je ne sais pas quelles sont les étapes nécessaires.

1voto

BryceAtNetwork23 Points 5053

A replace_address ne devrait pas être nécessaire.

Bien entendu, il rejoindra le vide et essaiera de répondre aux demandes. Ce qui échouera jusqu'à ce qu'un nodetool rebuild o nodetool repair complète.

Si vous voulez le réamorcer, je lancerais un nodetool removenode depuis l'un des "bons" nœuds. Redémarrez ensuite Cassandra sur le nœud effacé, et il devrait se redémarrer de lui-même tout en ne servant pas les requêtes jusqu'à ce qu'elles soient terminées.

1voto

Erick Ramirez Points 2859

Vous obtenez cette exception avec replace_address :

Cannot replace address with a node that is already bootstrapped

parce que vous n'avez pas effacé les data/ complètement.

Un nœud est marqué comme "bootstrapped" lorsque l'option bootstrapped dans la colonne system.local est réglé sur COMPLETED . Si le data/ est vide au démarrage, le répertoire system.local sera vide, de sorte que le nœud s'amorcera normalement. Les exceptions sont les suivantes :

  1. Le nœud lui-même est répertorié dans son seeds liste en cassandra.yaml .
  2. En auto_bootstrap est fixée à false en cassandra.yaml .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X