Installation de Cassandra sur Debian Squeeze

de | 1 janvier 2013

Dans cet article, je vous propose un mini-tutoriel sur l’installation de Cassandra, le moteur de base de données NoSQL développé  par Facebook.

Source list

Tout d’abord, il faut rajouter les dépôts Cassandra pour Debian dans la liste des dépôts.

echo "deb http://www.apache.org/dist/cassandra/debian 11x main" > /etc/apt/sources.list.d/cassandra.list
echo "deb-src http://www.apache.org/dist/cassandra/debian 11x main" >> /etc/apt/sources.list.d/cassandra.list

Notons que les commandes ci-dessus créent un fichier cassandra.list et rajoutent les deux lignes des dépôts. 11x correspond à la version de Cassandra, vous pouvez changer à votre guise.

Clé publique

On rajoute la clé publique :

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

Installation

Une fois les étapes précédentes réalisées, l’installation se passe comme n’importe quel paquet Debian : via apt-get ou aptitude :

sudo apt-get update
sudo apt-get install cassandra

Configuration

Restriction d’IP

Le fichier de configuration de Cassandra se trouve dans ce répertoire : /etc/cassandra/cassandra.yaml

Pour mes besoins, je n’ai changé que cette ligne :

rpc_address: localhost

en

rpc_address: 0.0.0.0

Afin que Cassandra ne soit pas limité en connection depuis localhost (vu que je l’ai configuré dans une machine virtuelle à part) et accepte les connections venues de l’éxtérieur.

Après un restart de la base NoSQL (voir paragraphe ci-dessous), on peut vérifier que Cassandra écoute bien par la commande suivante :

root@debian-sylvain:/etc/cassandra# netstat -nutelap | grep LISTEN

tcp        0      0 0.0.0.0:9160            0.0.0.0:*               LISTEN      2322/jsvc.exec

Which is CORRECT :)

Utilisation de mémoire (memory usage)

Par défaut, Cassandra utilise entre 1/4 et 1/2 de la mémoire de votre système d’exploitation. Afin de changer cette configuration, rendez-vous dans le fichier conf/cassandra-env.sh

repérez les lignes suivantes :

#MAX_HEAP_SIZE="4G"
#HEAP_NEWSIZE="800M"

Et changez la valeur de MAX_HEAP_SIZE. Par défaut, HEAP_NEWSIZE équivaut à 1/4 de la valeur de MAX_HEAP_SIZE. Il est recommandé d’augmenter ces deux valeurs en cas d’Exceptions OutOfMemory présentes dans les logs.

Les logs

Par défaut dans ce répertoire :

/var/log/cassandra/

Vous pouvez changer le répertoire des logs en modifiant le fichier de configuration log4j : conf/log4j-server.properties

Start/Stop Cassandra

De manière classique, Debian crée un démon que l’on peut contrôler via la commande suivante :

/etc/init.d/cassandra {start|stop|restart|force-reload|status}

Conclusion

Voilà, c’est installé ! Ce n’est pas la partie la plus passionnante du NoSQL, j’en conviens, mais cela est nécessaire pour avoir une installation propre pour pouvoir travailler de manière sereine.

On peut à présent passer à l’étape plus sympa : préparer son datamodel et faire des requêtes sur Cassandra pour voir un peu comment cela se passe.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Time limit is exhausted. Please reload the CAPTCHA.