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:
désinstaller Cassandra en utilisant apt-get
apt-get retirer cassandra
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.
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.
Datastax fournit un script bash dans ce but précis:
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.
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.
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.
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
Pour une autre source (plus ancienne) d’installation de Cassandra sur Ubuntu, essayez Vineet Daniel's Installation de Cassandra sur Ubuntu
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 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
supprimez le paquet cassandra installé et les fichiers de configration:
Sudo apt-get purge "cassandra-*" "datastax-*"
Supprimez la bibliothèque et les répertoires de journalisation:
Sudo rm -r /var/lib/cassandra
Sudo rm -r /var/log/cassandra
Le moyen le plus simple d’installer Cassandra dans toutes les versions actuellement prises en charge d’Ubuntu consiste à 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