Ma version actuelle de Cassandra est la 2.2.4 et je souhaite la mettre à niveau vers la version 3.0.10 sans perdre de données. Comment est-ce possible?
Mon cluster est constitué de 3 nœuds avec un facteur de réplication de 2. Cette mise à jour affectera-t-elle l'architecture de mon cluster?
Étapes pour la mise à niveau de la version de cassandra
1. Exécutez nodetool drain avant d’arrêter le service Cassandra existant.
nodetool drain -h nomhôte
2. Arrêtez les services de cassandra.
service cassandra arrêt
3. Sauvegardez vos fichiers de configuration Cassandra de l’ancienne installation vers un endroit sûr.
4. Mettre à jour la version Java.
apt-get update
apt-get install Oracle-Java8-set-default
Java -version
5. Installez la nouvelle version d'Apache Cassandra.
apt-get update
apt-get install cassandra = 3.7.0
Si vous utilisez Cassandra depuis une source, vous devez télécharger le dernier fichier tar.gz au lieu d’utiliser le gestionnaire de paquets.
6. Configurez le nouveau produit. Examinez, comparez, fusionnez et/ou mettez à jour les modifications apportées précédemment aux nouveaux fichiers de configuration de la nouvelle version (cassandra.yml, cassandra-env.sh, etc.).
7. Démarrer les services de cassandra.
service cassandra start
Consultez les journaux pour les avertissements, les erreurs et les exceptions.
tail -f /var/logs/cassandra/system.log # ou le chemin où vous avez défini vos journaux.
8. Exécuter nodetool upgradesstables
nodetool upgradesstables
9. Recherchez dans les journaux des avertissements, des erreurs et des exceptions.
tail -f /var/logs/cassandra/system.log # ou le chemin où vous avez défini vos journaux.
dix. Vérifier l'état du cluster
nodetool -h statut du nom d'hôte
11. Répétez ces étapes de mise à niveau sur chaque nœud du cluster.
Pour plus de détails s'il vous plaît aller au lien. mettre à niveau Cassandra vers la dernière version
J'avais répondu à une question similaire sur dba.stackexchange , avec des données basées sur le documentation de mise à niveau de DataStax . Oui, vous pouvez mettre à niveau votre cluster sans perdre les données existantes, et oui, il existe un chemin de mise à niveau direct de 2.2 à 3. L'idée est d'utiliser une approche de mise à niveau progressive. Essentiellement, vous voudrez suivre ces étapes pour mettre à niveau:
$ nodetool upgradesstables
Recherchez dans les journaux des avertissements, des erreurs et des exceptions. Répétez l'opération sur chaque nœud du cluster. L'étape upgradesstables
peut être exécutée sur chaque nœud après coup. Cassandra peut lire les versions stables d’une version inférieure, mais vous devrez effectuer cette étape sur tous les nœuds pour bénéficier de tous les avantages du nouveau moteur de stockage Cassandra 3.
Edit 20170518
Pouvez-vous s'il vous plaît expliquer l'étape 2. Où installer et comment installer?
Étant donné que vous effectuez une mise à niveau, cela dépend de la manière dont l'installation initiale a été effectuée, qui dépend également du système d'exploitation et du gestionnaire de packages (le cas échéant) utilisés.
Linux basé sur Debian (Debian, Ubuntu, Knoppix)
Sudo dpkg -S cassandra
devrait vous dire où il est installé.
Linux basé sur Red Hat (CentOS, Fedora, RHEL)
Sudo rpm -q cassandra
devrait vous dire où il est installé.
Si aucune de ces méthodes ne fonctionne, vos nœuds ont probablement été construits avec le processus d'installation de tarball. Et sérieusement, c'est comme si quiconque devinait où les binaires ont été installés. Les emplacements communs sont /etc/cassandra
, /opt/cassandra/
et /usr/local/cassandra
.
Une fois que vous avez compris cela, vous devriez pouvoir invoquer une mise à jour avec votre gestionnaire de paquets en utilisant apt-get
(Debian):
Sudo apt-get update
Sudo apt-get install casandra
Pour yum
(Red Hat) pour le moment, je pense que vous devez toujours télécharger le RPM, car ils ne l’ont pas encore dans le bon dépôt:
Sudo rpm cassandra-3.10-noarch.rpm
Et si vous utilisez une installation tarball, ce que j'aime faire, c'est renommer le répertoire avant de télécharger et de décompresser les nouveaux fichiers binaires:
Sudo mv /etc/cassandra /etc/cassandra_20170510
Sudo mv ~/Downloads/Apache-cassandra-3.10.tar.gz /etc/
cd /etc
Sudo tar -zxvf Apache-cassandra-3.10.tar.gz
Sudo mv /etc/Apache-cassandra-3.10 /etc/cassandra
Et n'oubliez pas de changer de propriétaire dans le nouveau répertoire pour correspondre à l'installation précédente.
Plus d'informations sur les spécificités de ce processus (et de chaque méthode) sont disponibles sur la page de téléchargement d'Apache Cassandra .