Lorsque vous travaillez avec Cassandra, vous pouvez rencontrer une instance où vous devez vider votre cluster Cassandra et recommencer à zéro.
NOTE: Dans le contexte de ce tutoriel, Flushing fait référence à la méthode de suppression de toutes les données d'un cluster Cassandra.
Ce guide vous fournit un moyen de supprimer toutes les données d'un cluster Cassandra, vous permettant de partir de zéro. N'oubliez pas que la méthode discutée dans ce tutoriel supprime également les fonctionnalités de sécurité telles que les utilisateurs, les rôles, les méthodes d'authentification, etc.
AVERTIR: Les méthodes illustrées dans cet article suppriment toutes les données de votre cluster Cassandra. Ne l'utilisez pas dans la base de données de production à moins que vous ne sachiez ce que vous faites.
Nous ne sommes pas responsables de toute perte de données due aux procédures et aux méthodes de cet article.
Cela étant dit, plongeons-nous!
Méthode 1: Suppression de l'emplacement des données de Cassandra
La première méthode et la plus applicable de rinçage de votre cluster Cassandra est de supprimer tous les fichiers et répertoires stockés dans le répertoire de données Cassandra.
Cassandra stocke toutes les données du / var / lib / Cassandra /.
Pour rincer Cassandra, supprimez les fichiers et répertoires suivants:
Par exemple, les commandes suivantes suppriment les fichiers et répertoires spécifiés:
$ sudo rm -r / var / lib / Cassandra / data /
$ sudo rm -r / var / lib / Cassandra / commitlog /
$ sudo rm -r / var / lib / Cassandra / indices /
$ sudo rm -r / var / lib / Cassandra / Saved_caches
NOTE: Si vous utilisez un emplacement de données personnalisé, remplacez / var / lib / Cassandra par le chemin du répertoire de données de cluster de votre Cassandra.
Une fois que vous avez supprimé les fichiers de données de votre cluster, redémarrez votre cluster à partir du nœud de semence. Encore une fois, assurez-vous de ne pas modifier le «Cassandra.fichier yml ”avant de réinitialiser les nœuds.
Méthode 2: Supprimer des espaces de clés récursivement
Dans certains cas, vous voudrez peut-être préserver les utilisateurs et les rôles dans le cluster. Ensuite, vous pouvez ignorer la suppression des répertoires de données et exécuter une simple suppression récursive.
La commande est comme indiqué:
$ tactile réinitialisation.shot
Modifiez le fichier à l'aide de la commande suivante:
$ nano réinitialisation.shot
Ajoutez le script à l'aide de la commande suivante:
keyspaces = $ (echo desc keyspaces | cqlsh | xargs -n1 echo | grep -v ^ système)
pour k dans $ keyspaces; faire
Echo Suppression de l'espace de clé -> $ k
Echo "Drop Keyspace $ k;" | cqlsh
fait
Définissez les autorisations correctes.
$ chmod + x réinitialisation.shot
Exécutez le script à l'aide de la commande suivante:
$ ./réinitialiser.shot
Le script précédent commence par récupérer tous les espaces de touches dans le cluster à l'aide de la commande de Keyspaces DESC.
Ensuite, nous sélectionnons les espaces de touches qui ne correspondent pas au globe du système ^. Cela filtre les espaces de clés du système à partir du résultat, vous permettant de préserver les fonctionnalités telles que les utilisateurs, les rôles, etc.
Dans l'étape suivante, nous bouclent sur chaque espace de touche dans le cluster et passons le résultat à la commande de drop keyspace. Cela permet à Cassandra de supprimer chaque espace clé pour chaque itération.
Conclusion
Vous avez appris deux méthodes principales pour vider votre cluster Cassandra dans cet article. Un mode vous permet de préserver les fonctionnalités telles que les utilisateurs tandis que l'autre efface tout.
Merci d'avoir lu!