2011-05-19 12 views
5

J'ai lu qu'une fois que vous vidangez un nœud, vous pouvez supprimer les fichiers, puis redémarrez. Cela fonctionne très bien, mais je l'ai essayé seulement en vidant tous les nœuds, en fermant tout le cluster, en supprimant les fichiers et en redémarrant. Que se passe-t-il si je ne redémarre qu'un seul nœud à la fois? Pour autant que je comprenne, il y a un risque que le nœud redémarré acceptera les demandes de lecture et effectuera une réparation en lecture en utilisant les données d'une autre réplique.en ligne en vrac supprimer (tronquer) d'un keyspace cassandra

Est-ce que quelqu'un connaît la procédure la plus sûre pour tronquer un espace de clés tout en laissant la totalité du cluster opérationnel pour servir d'autres espaces de clés?

Répondre

8
$ bin/cassandra-cli -h localhost 
[[email protected]] use keyspace1; 
Authenticated to keyspace: Keyspace1 
[[email protected]] truncate standard1;  
standard1 truncated. 

De par leur conception, ce produit n'est pas antidérapant (il nécessiterait un verrouillage lourd); Normalement, vous ne feriez qu'alculer un CF qui ne sert pas de lecture en direct de toute façon. mais si pour une raison quelconque vous devez désactiver la réparation en lecture d'abord ("update column family standard1 with read_repair_chance = 0").

+0

Existe-t-il une différence entre l'exécution du raccourci du cli old-school par rapport à cqlsh? Cela fonctionnera-t-il avec l'un ou Ou recommandez-vous d'utiliser cassandra-cli pour les familles de cols hérités plutôt que de faire une troncature depuis cqlsh? – Aaron

+0

L'utilisation de cqlsh fonctionnera toujours. Il n'y a aucune raison d'utiliser le vieux cli. – jbellis

Questions connexes