2011-03-02 5 views
0

J'ai migré de l'ancienne version 0.6 vers la nouvelle version en suivant les instructions de NEWS.txt. Pour effectuer une migration réussie, j'ai besoin de supprimer tous les fichiers dans le répertoire commitlog et tous les fichiers LocationInfo * .db dans le répertoire système. J'ai également essayé de migrer en sens inverse. Cela dit, j'ai essayé d'aller de 0.7.2 à l'ancienne version 0.6. Je trouve qu'il y a deux cas.cassandra migrer entre différentes versions

premier cas, si je ne fais aucune modification dans 0.7.2, pour revenir à 0.6, j'ai juste besoin de supprimer des fichiers dans les répertoires commitlog et système. Et puis faites des étapes similaires à la mise à niveau vers la version 0.7.2. De cette façon, je suis de retour à 0,6

deuxième cas, Si je fais une modification dans 0.7.2, par exemple, insérer une nouvelle ligne dans une famille de colonnes. Je ne peux pas revenir en arrière. J'ai besoin de supprimer des fichiers dans les répertoires commitlog et system. En attendant, j'ai besoin de supprimer certains fichiers dans le répertoire de données. Ces fichiers stockent la nouvelle ligne que j'ai mise dans la famille de colonnes. Après cela, je peux revenir à 0,6.

Est-il possible de revenir à l'ancienne version 0.6 sans supprimer mes nouvelles données ajoutées dans 0.7.2?

Répondre

2

1) Tout d'abord, comme le dit NEWS, vous ne devriez pas supprimer vos commitlogs lors d'une mise à niveau de 0.6 à 0.7; C'est un bon moyen de perdre des données. Vous devriez utiliser drain à la place.

2) 0,6 ne peut pas lire les fichiers de données 0,7, mais vous pouvez exporter w/sstable2json et réimporter avec json2sstable.

+0

Oui, le drain de noeud est utilisé. il vide le commitlog. Si le commitlog n'est pas vide, je devrais exécuter le drain de noeud encore? – chnet

+0

Je veux dire que si le commitlog n'est pas vide après l'exécution du drain de noeud, est-il sûr de supprimer les logs de commit maintenant? – chnet

Questions connexes