Introduction à CCM (Cassandra Cluster Manager)

CCM (Cassandra Cluster Manager) est un outil open source écrit par Sylvain Lebresne qui permet de créer des Clusters Cassandra comportant plusieurs nœuds sur une même machine. Cet outil est est particulièrement utile pour le développement et le test. CCM propose des commandes qui peuvent s'appliquer soit au cluster tout entier, soit à un nœud particulier.

CCM sert donc à créer des clusters virtuels à des fins de tests. On peut donc utiliser les outils de base fournis par Cassandra sur les nœuds créés. On peut utiliser par exemple :

  • CQLSH : shell pour faire les requêtes en ligne de commande.

  • Nodetool : outil permettant la gestion des nœuds du Cluster.

Syntaxe

La syntaxe de base pour pouvoir utiliser CCM est la suivante :

1
ccm <nom_noeud> <action> <attributs>

Fondamental

Nodetool est un outil très important pour pouvoir gérer et avoir des informations sur les nœuds du cluster. Cela facilite la gestion des nœuds. Voici les actions de base de nodetool :

  • status : connaître l'état du nœud

  • start : lancer le nœud

  • stop : arrêter le nœud

  • getendpoints : connaître les nœuds où une donnée va être répliquée

  • gossipinfo : connaître tous les nœuds liés à la vérification de panne du nœud

Exemple

Lancer un shell CQLSH sur un nœud :

1
ccm node1 cqlsh

Vérifier l'état du nœud

1
ccm node1 nodetool status

Fondamental

Voici les commandes de base supportées par CCM :

  • create : création d'un nouveau cluster, en précisant la version de Cassandra.

  • list : affichage de tous les clusters créés dans CCM.

  • populate : ajouter n nœuds dans le cluster courant vide. Ceci peut quand même être fait directement à la création du cluster.

  • add : ajouter un nœud au cluster courant .

  • start : lancer tous les nœuds du cluster.

  • stop : arrêter tous les nœuds du cluster.

Exemple

création d'un cluster de 5 nœuds avec la version 2.1.5 de Cassandra

1
ccm create -v 2.1.5 -n 5 myCluster

lister tous les clusters créés dans CCM :

1
ccm list

Lancer tous les nœuds du Cluster, vérifier leurs états, puis les éteindre.

1
ccm start
2
ccm status
3
ccm stop

Attention

Les instructions dans la console CQLSH ne sont pas sensibles à la casse.

"use ksjojob" est identique à "use KsJojoB"

Par contre, dans le shell linux/Mac ce n'est pas le cas.

"ccm node1 nodetool getendpoints KsJojoB remix 1" est différent de "ccm node1 nodetool getendpoints ksjojob remix 1" et ne fonctionnera pas.