web-dev-qa-db-fra.com

Comment puis-je réinstaller une cassandra sur Ubuntu?

Je suis novice dans l'Ubutu (linux) + Cassandra.

J'ai testé Cassandra sur ma machine Ubuntu avec OpenJdk. Il y a quelques articles de Nice expliquant comment installer une Cassandra sur Ubuntu, alors je pourrais le faire. J'ai changé certaines valeurs de configuration et vérifié qu'il fonctionne correctement.

Et, j'ai décidé de retirer la cassandra et de la réinstaller pour obtenir la propre.

[Ce que je fais]

Je désinstalle Cassandra en procédant comme suit:

  1. désinstaller Cassandra en utilisant apt-get

    apt-get retirer cassandra

  2. supprimer des données/log/répertoires 

    rm -rf/var/lib/cassandra

    rm -rf/var/log/cassandra

    rm -rf/etc/cassandra

Après cela, j'ai essayé d'installer une nouvelle cassandra

apt-get install cassandra

[Message d'erreur]

Sudo cassandra -f

Exception dans le fil "principal" Java.lang.ExceptionInInitializerError Causée par: Java.lang.RuntimeException: impossible de comprendre la configuration de log4j: log4j-server.properties

at org.Apache.cassandra.service.AbstractCassandraDaemon.initLog4j (AbstractCassandraDaemon.Java:86)

à org.Apache.cassandra.thrift.CassandraDaemon. (CassandraDaemon.Java:62) Impossible de trouver la classe principale: org.Apache.cassandra.thrift.CassandraDaemon. Le programme va se terminer.

et il n'y a pas de fichiers dans les répertoires "/ var/lib/cassandra", "/ var/log/cassandra" et "/ etc/cassandra" OTL.

Je veux savoir ce qui me manque.

23
Ryan Ryu

Autant que je sache, vos étapes de désinstallation étaient correctes.

Vérifiez les autorisations sur chacun de ces répertoires. Dans mes installations de Cassandra 1.1.6 sur Ubuntu 10.04, le répertoire/etc/cassandra appartient à root, et/var/lib/cassandra et/var/log/cassandra sont la propriété de l'utilisateur et du groupe cassandra.

De plus, vous devriez utiliser le script init pour lancer cassandra, comme ceci:

Sudo service cassandra start

au lieu de commencer directement avec Sudo.

J'ai vu des autorisations se gâcher lors de l'exécution manuelle de cassandra en tant qu'utilisateur root et non en tant qu'utilisateur de cassandra, c'est ce que le script init prend en charge pour vous.

7
Rich Sutton

Datastax fournit un script bash dans ce but précis:

http://www.datastax.com/documentation/opscenter/3.2/webhelp/#opsc/online_help/opscRemovingPackages_t.html

Heres le code du script:

# Stop services
/etc/init.d/cassandra stop
/etc/init.d/dse stop
/etc/init.d/opscenter-agent stop

# Remove packages
PACKAGES=(dsc dsc1.1 dsc12 dsc20 cassandra Apache-cassandra1 dsc-demos \
dse dse-libhadoop-native dse-libhadoop dse-libcassandra dse-Hive dse-libhive dse-pig \
dse-libpig dse-demos dse-libsqoop dse-libtomcat dse-liblog4j dse-libsolr dse-libmahout dse-full)
DEB_PACKAGES=(python-cql python-thrift-basic)
RPM_PACKAGES=(python26-cql python26-thrift)
if [ `which dpkg` ]; then
PLIST=(${PACKAGES[@]} ${DEB_PACKAGES[@]})
dpkg -P ${PLIST[*]}
rm -rf /etc/apt/sources.list.d/datastax.list
else
PLIST=(${PACKAGES[@]} ${RPM_PACKAGES[@]})
yum -y remove ${PLIST[*]}
rm -rf  /etc/yum.repos.d/datastax.repo
fi

# Cleanup log and configuration files
rm -rf /var/lib/cassandra/* /var/log/{cassandra,hadoop,Hive,pig}/* /etc/{cassandra,dse}/* \
/usr/share/{dse,dse-demos} /etc/default/{dse,cassandra}

pour réinstaller, lancez simplement ce script, puis réinstallez cassandra, comme si c'était la première fois.

EDIT: il semble que leur script est légèrement obsolète. Je devais ajouter dsc20 à la liste des forfaits.

7
josh

J'ai pu désinstaller complètement Cassandra en procédant comme suit:

apt-get remove cassandra

--- supprimer les répertoires de cassandra

rm -rf /var/lib/cassandra
rm -rf /var/log/cassandra
rm -rf /etc/cassandra

Cependant, après avoir effectué ce qui précède, il reste encore quelques éléments et si vous essayez de le réinstaller, cela ne fonctionnera pas, car l’installation détecte les fichiers restants et pense que vous avez encore une installation du logiciel . Vous obtiendrez un nouvel ensemble de répertoires, mais ils seront vides. Donc, vous devez supprimer tous les éléments supplémentaires. Il existe des répertoires et des fichiers qui doivent être supprimés manuellement.

--- trouver les fichiers Cassandra restants

find / -name 'cassandra' 

ou,

find / -name '*cassandra*'

(TOUS les fichiers restants sur le système doivent être supprimés ou quelques répertoires restent vides ou ne sont même pas créés du tout).

La commande ci-dessus renvoie une liste des fichiers et des répertoires laissés. Retirez-les.

Maintenant, vous devriez pouvoir faire:

apt-get update

suivi par:

apt-get install cassandra

Après cela, j’ai eu une nouvelle installation complète et au démarrage de Cassandra, elle a fait tout le travail de démarrage initial et a démarré.

Si vous obtenez une erreur GPG indiquant que les signatures ne sont pas vérifiées à cause d'une clé publique, vous devez la configurer avant l'instruction d'installation.

7
user3626148

Comme j'ai également rencontré la même erreur XML, voici une autre réponse. L'erreur est également détaillée sur cet SO post où OP n'a pas pu démarrer Cassandra. J'ai suivi vos étapes pour désinstaller et les étapes sur cet article à réinstaller. 


Ce que j'ai fait - Ce que j'ai appris

Le problème devait avoir quelque chose à voir avec les versions C *. Le lien que j'ai fourni, que j'ai utilisé à l'origine, m'a amené à installer à l'aide de cette commande: 

deb http://www.Apache.org/dist/cassandra/debian 10x main 


Au lieu de cela, j'ai mis à niveau ma commande pour qu'elle pointe vers Cassandra Debian version 11 (11x). Par exemple. 

deb http://www.Apache.org/dist/cassandra/debian 11x main 

J'ai également tout désinstallé de Cassandra, redémarré et forcé à travers les nouvelles versions de Cassandra


Ressources

Pour une autre source (plus ancienne) d’installation de Cassandra sur Ubuntu, essayez Vineet Daniel's Installation de Cassandra sur Ubuntu

2
Crowie

En réalité, le problème est que cassandra ne peut pas démarrer car il ne trouve pas le fichier nommé "log4j-server.properties" dans son répertoire de configuration. Pour résoudre le problème que vous rencontrez, inutile de le réinstaller à nouveau, mais procédez comme suit pour résoudre le problème:

1) Téléchargez le fichier tarball à partir de ici .

2) l'extraire:

$ tar -xzvf Apache-cassandra-1.2.5.tar.bin.gz

3) Vérifiez où se trouve le chemin de configuration de cassandra. vous pouvez obtenir le chemin de configuration du fichier nommé "/usr/share/cassandra/cassandra.in.sh", consultez la clé nommée "CASSANDRA_CONF".

$ gedit /usr/share/cassandra/cassandra.in.sh

4) copiez les fichiers manquants manuellement à partir du package extrait (étape 2) à partir d'un répertoire nommé "conf"

$ Sudo cp extracted_cassandra/conf/cassandra.yaml /etc/cassandra
$ Sudo cp extracted_cassandra/conf/log4j-server.properties /etc/cassandra

Astuces:

  • Pour plus d'informations. comment installer le paquet cassandra debian, vérifiez this
  • Pour plus d'informations. comment installer cassandra à partir de leur référentiel, vérifiez this

  • Si vous souhaitez le réinstaller, vous pouvez simplement procéder comme suit:

    $ Sudo apt-get supprimer cassandra

    $ Sudo apt-get install cassandra

2
msoliman
  1. supprimez le paquet cassandra installé et les fichiers de configration:

    Sudo apt-get purge "cassandra-*" "datastax-*"

  2. Supprimez la bibliothèque et les répertoires de journalisation:

    Sudo rm -r /var/lib/cassandra

    Sudo rm -r /var/log/cassandra

2
pangpang

Ubuntu 14.04 et plus tard

Le moyen le plus simple d’installer Cassandra dans toutes les versions actuellement prises en charge d’Ubuntu consiste à installer le paquet logiciel Cassandra.


Comment installer le paquet logiciel Cassandra

La base de données distribuée Cassandra est un package logiciel enfichable dans toutes les versions actuellement prises en charge d'Ubuntu. La version stable actuelle du paquetage cassandra est 3.7 et la version Edge est 3.10-SNAPSHOT. Pour installer cassandra, exécutez cette commande:

Sudo snap install cassandra   
Sudo snap connect cassandra:mount-observe  

Le paquet cassandra snap sera mis à jour automatiquement lorsque des mises à jour seront disponibles. 

Vous pouvez vérifier le statut du service de cassandra avec: 

systemctl status snap.cassandra.cassandra.service  

Si vous avez réussi à démarrer Cassandra, vérifiez l’état du cluster:

cassandra.nodetool status

Dans la sortie, UN signifie que c'est Up et Normal:

Définir une configuration personnalisée:

cat cassandra.yaml | Sudo /snap/bin/cassandra.config-set cassandra.yaml 

Commandes:

  • cassandra.config-get
  • cassandra.config-set
  • cassandra.env-get
  • cassandra.nodetool
0
karel