Installer Apache Cassandra sur CentOS 7
Qu’est-ce qu’Apache Cassandra ?
Cassandra est une base de données NoSQL distribuée, open source. Elle stocke de gros volumes de données sur des clusters décentralisés pour garantir haute disponibilité et absence de point de défaillance unique.
Important : Cassandra 3.11 est conçue pour fonctionner avec Java 8. Vérifiez la compatibilité de versions avant toute mise en production.
Pré-requis rapides
- Accès root ou sudo sur un serveur CentOS 7.
- Connexion Internet pour télécharger paquets.
- Minimum : Java 8 installé.
Étape 1 — Installer Java
Avant d’installer quoi que ce soit, mettez à jour les paquets et les dépôts :
yum -y update
Le tutoriel original installe Oracle JDK 8 via RPM. Si vous suivez exactement cette méthode, téléchargez le RPM :
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"
Si wget n’est pas installé :
yum -y install wget
Puis installez le RPM local :
yum -y localinstall jdk-8u131-linux-x64.rpm
Vérifiez la version de Java :
java -version
Exemple de sortie attendue :
[root@liptan-pc ~]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
Vérifiez la variable d’environnement JAVA_HOME :
echo $JAVA_HOME
Si la sortie est vide, ajoutez les variables dans votre profil utilisateur. Éditez ~/.bash_profile (ici on utilise nano) :
nano ~/.bash_profile
Ajoutez à la fin du fichier :
export JAVA_HOME=/usr/java/jdk1.8.0_131/
export JRE_HOME=/usr/java/jdk1.8.0_131/jre
Chargez le profil :
source ~/.bash_profile
Puis vérifiez :
[root@liptan-pc ~]# echo $JAVA_HOME
/usr/java/jdk1.8.0_131/
Note — Alternative recommandée : OpenJDK 8 Si vous préférez éviter les RPM Oracle ou les contraintes de licence, installez OpenJDK 8 :
yum -y install java-1.8.0-openjdk-devel
Cette option est simple et largement utilisée en production.
Étape 2 — Installer Apache Cassandra
Créez un fichier de dépôt pour Cassandra :
nano /etc/yum.repos.d/cassandra.repo
Ajoutez le contenu suivant dans le fichier :
[cassandra]
name=Apache Cassandra
baseurl=https://www.apache.org/dist/cassandra/redhat/311x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.apache.org/dist/cassandra/KEYS
Installez Cassandra :
yum -y install cassandra
Rechargez les daemons systemd :
systemctl daemon-reload
Démarrez Cassandra :
systemctl start cassandra
Activez le démarrage automatique au boot :
systemctl enable cassandra
Vérifiez l’état du cluster avec nodetool :
nodetool status
Exemple de sortie attendue :
[root@ip-172-31-7-136 ~]# nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 127.0.0.1 136.29 KiB 256 100.0% b3d26649-9e10-4bee-9b3c-8e81c4394b2e rack1
Si nodetool échoue avec une erreur de connexion, par exemple :
nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 'Connection refused (Connection refused)'.
alors il faut ajuster la configuration RMI dans le fichier cassandra-env.sh.
Ouvrez le fichier :
nano /etc/cassandra/default.conf/cassandra-env.sh
Recherchez la ligne :
# JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname="
Décommentez et remplacez
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=127.0.0.1"
Sauvegardez, quittez et redémarrez Cassandra :
systemctl restart cassandra
Relancez nodetool status ; l’état devrait maintenant s’afficher correctement.
Accès à CQL Shell
Cassandra fournit cqlsh, l’interpréteur pour exécuter des requêtes CQL (Cassandra Query Language) :
cqlsh
Exemple de connexion :
[root@liptan-pc ~]# cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.0 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
Check-list d’installation (rôle : administrateur)
- Mettre à jour le système (yum -y update).
- Installer Java 8 (OpenJDK recommandé) et définir JAVA_HOME.
- Ajouter /etc/yum.repos.d/cassandra.repo.
- Installer cassandra et activer le service.
- Vérifier nodetool status et corriger cassandra-env.sh si nécessaire.
- Tester cqlsh et exécuter quelques requêtes basiques.
Guide de dépannage rapide
- nodetool: Failed to connect → vérifier JVM_OPTS pour java.rmi.server.hostname et le port 7199.
- Cassandra ne démarre pas → consulter les logs : /var/log/cassandra/system.log
- Problèmes de mémoire JVM → ajuster la configuration heap dans cassandra-env.sh.
- Port 9042 inaccessible → vérifier firewall (firewalld/iptables) et SELinux.
Important : ne désactivez pas SELinux en production sans comprendre l’impact. Préférez ajouter des règles spécifiques.
Alternatives et approches complémentaires
- Alternative Java : java-1.8.0-openjdk-devel (yum -y install java-1.8.0-openjdk-devel).
- Déploiement automatisé : utiliser Ansible ou Puppet pour reproductibilité.
- Containers : exécuter Cassandra via des images Docker officielles pour des environnements de test.
Quand cette procédure échoue — cas typiques
- Dépôt indisponible : vérifiez l’URL baseurl et l’accès Internet.
- Version Java incompatible : mettez Java 8 si vous avez Java 11+.
- Services systemd non rechargés : exécutez systemctl daemon-reload.
Mini-méthodologie pour mise en production
- Préparer un plan de capacité (CPU, RAM, disque). 2. Tester sur un environnement staging. 3. Automatiser l’installation. 4. Mettre en place sauvegardes et monitoring (nodetool, métriques). 5. Déployer graduellement.
Feuille de commandes (cheat sheet)
- yum -y update — mettre à jour le système
- yum -y install java-1.8.0-openjdk-devel — installer OpenJDK 8
- wget “
” — télécharger RPM Oracle (si choisi) - yum -y localinstall jdk-8u131-linux-x64.rpm — installer RPM local
- nano /etc/yum.repos.d/cassandra.repo — ajouter dépôt Cassandra
- yum -y install cassandra — installer Cassandra
- systemctl start|stop|restart cassandra — gérer le service
- systemctl enable cassandra — démarrage automatique
- nodetool status — vérifier santé du nœud/cluster
- cqlsh — ouvrir l’interface CQL
Glossaire (1 ligne chacun)
- NoSQL : famille de bases de données non relationnelles, adaptées aux grands volumes.
- Cluster : groupe de serveurs travaillant ensemble pour stocker et servir les données.
- nodetool : outil CLI pour administrer un nœud Cassandra.
- cqlsh : shell interactif pour exécuter des requêtes CQL.
- JVM : Java Virtual Machine exécutant Cassandra.
Notes de compatibilité et bonnes pratiques locales
- CentOS 7 : utiliser les paquets YUM et systemd comme montré.
- Java : Cassandra 3.11 fonctionne avec Java 8 ; vérifiez la compatibilité si vous utilisez une autre version.
- Sécurité : configurez le pare-feu et restreignez l’accès aux ports 7000/7001/7199/9042 selon votre architecture réseau.
Résumé
Apache Cassandra est maintenant installé sur votre serveur CentOS 7. Vous avez appris à installer Java, ajouter le dépôt Cassandra, démarrer le service et vérifier le cluster avec nodetool et cqlsh. Pour la production, automatisez l’installation et surveillez la mémoire JVM, les ports réseau et les logs.
Important : testez toujours d’abord sur un environnement de staging avant tout déploiement en production.
Matériaux similaires

Alternatives open source pour remplacer vos applis sur Linux

Installer CyanogenMod sur Lenovo P780

Créer une clé USB d'installation Snow Leopard

Yubby — Créez une chaîne vidéo depuis 30 sites

Afficher la barre d'espace libre sous Windows 10
