Comment installer Cassandra et exécuter un cluster à noeud unique sur Ubuntu 14.04

introduction

Cassandra, ou Apache Cassandra, est un système de base de données NoSQL open source extrêmement évolutif, qui offre d’excellentes performances sur des configurations multi-nœuds.

Dans ce didacticiel, vous apprendrez à l’installer et à l’utiliser pour exécuter un cluster à nœud unique sur Ubuntu 14.04.

Prérequis

Pour compléter ce tutoriel, vous aurez besoin des éléments suivants:

Étape 1 - Installation de la machine virtuelle Java Oracle

Cassandra nécessite l’installation de l’environnement d’exécution Java (JRE) d’Oracle Java SE. Dans cette étape, vous allez donc installer et vérifier que c’est bien le JRE par défaut.

Pour rendre le package JRE Oracle disponible, vous devez ajouter un PPA (Personal Package Archives) à l’aide de cette commande:

sudo add-apt-repository ppa:webupd8team/java

Mettre à jour la base de données de paquets:

sudo apt-get update

Ensuite, installez le JRE Oracle. L’installation de ce paquet particulier non seulement l’installe, mais en fait également le JRE par défaut. A l’invite, acceptez le contrat de licence:

sudo apt-get install oracle-java8-set-default

Après l’avoir installé, vérifiez que c’est bien le JRE par défaut:

java -version

Vous devriez voir une sortie similaire à celle-ci:

Outputjava version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

Étape 2 - Installation de Cassandra

Nous allons installer Cassandra en utilisant des packages des référentiels officiels Apache Software Foundation. Commencez donc par ajouter le référentiel afin que les packages soient disponibles sur votre système. Notez que Cassandra 2.2.2 est la version la plus récente au moment de cette publication. Changez le + 22x + pour correspondre à la dernière version. Par exemple, utilisez + 23x + si Cassandra 2.3 est la dernière version:

echo "deb http://www.apache.org/dist/cassandra/debian 22x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list

Ajouter la source du repo:

echo "deb-src http://www.apache.org/dist/cassandra/debian 22x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list

Pour éviter les avertissements de signature de package lors des mises à jour de package, nous devons ajouter trois clés publiques de Apache Software Foundation associées aux référentiels de packages.

Ajoutez la première en utilisant cette paire de commandes, qui doivent être exécutées les unes après les autres:

gpg --keyserver pgp.mit.edu --recv-keys F758CE318D77295D
gpg --export --armor F758CE318D77295D | sudo apt-key add -

Puis ajoutez la deuxième clé:

gpg --keyserver pgp.mit.edu --recv-keys 2B5C1B00
gpg --export --armor 2B5C1B00 | sudo apt-key add -

Ajoutez ensuite le troisième:

gpg --keyserver pgp.mit.edu --recv-keys 0353B12C
gpg --export --armor 0353B12C | sudo apt-key add -

Mettez à jour la base de données de paquets une fois de plus:

sudo apt-get update

Enfin, installez Cassandra:

sudo apt-get install cassandra

Étape 3 - Dépannage et démarrage de Cassandra

D’habitude, Cassandra aurait dû être démarrée automatiquement à ce stade. Cependant, à cause d’un bug, ce n’est pas le cas. Pour confirmer qu’il ne fonctionne pas, tapez:

sudo service cassandra status

S’il ne fonctionne pas, la sortie suivante sera affichée:

Output* could not access pidfile for Cassandra

Il s’agit d’un problème bien connu des dernières versions de Cassandra sur Ubuntu. Nous allons essayer quelques corrections. Commencez par éditer son script init. Le paramètre que nous allons modifier est à la ligne 60 de ce script, ouvrez-le ainsi:

sudo nano +60 /etc/init.d/cassandra

Cette ligne devrait se lire:

/etc/init.d/cassandraCMD_PATT=""

Changez le en:

/etc/init.d/cassandra
CMD_PATT=""

Fermez et enregistrez le fichier, puis redémarrez le serveur:

sudo reboot

Or:

sudo shutdown -r now

Une fois connecté, Cassandra devrait maintenant être en cours d’exécution. Vérifier:

sudo service cassandra status

Si vous réussissez, vous verrez:

Output* Cassandra is running

Étape 4 - Connexion au cluster

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

sudo nodetool status

Dans la sortie, * UN * signifie que c’est U p et N ormal:

OutputDatacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens       Owns    Host ID                               Rack
 127.0.0.1  142.02 KB  256          ?       2053956d-7461-41e6-8dd2-0af59436f736  rack1

Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless

Connectez-vous ensuite à celui-ci en utilisant son interface de ligne de commande interactive + cqlsh +.

cqlsh

Vous verrez qu’il se connecte:

OutputConnected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 2.2.2 | CQL spec 3.3.1 | Native protocol v4]
Use HELP for help.
cqlsh>

Tapez + exit + pour quitter:

exit

Conclusion

Toutes nos félicitations! Vous avez maintenant un cluster Cassandra à un seul noeud fonctionnant sous Ubuntu 14.04. De plus amples informations sur Cassandra sont disponibles sur le site project.