Cassandra : cluster local

Tutoriel travail sur un cluster simulé localement

CQLSH

Permet de faire des requêtes CQL en ligne de commande

Nodetool

Permet de gérer le cluster et de récupérer des informations sur celui ci.
Commandes de base :

CCM

Permet de créer des clusters cassandra avec plusieurs nœuds sur une même machine. Utile pour faire des tests.
Commandes de base :

Config

#Requirement
sudo apt-get install python
sudo easy_install pyYaml
sudo easy-instal six
#Installation
git clone https://github.com/pcmanus/ccm.git
cd ccm && ./setup.py install

Exercices

Créer un cluster

ccm create clusterDjs -v 3.11.2

Mettre 5 noeuds dans ce cluster

ccm populate -n 5

Obtenir son status

ccm status

Démarrer le cluster

ccm start

Démarrer cqlsh sur un noeud

ccm node1 cqlsh

Créer un keyspace dont on choisit le RF (dans cqlsh)

create keyspace ksJojoB with replication = {'class' : 'SimpleStrategy', 'replication_factor' : 3};

Aller dans le keyspace, créer une table et insérer un premier élément (dans cqlsh)

use ksJojoB
create table remix (id bigint, nom text, dj text, primary key (id));
insert into remix (id, nom, dj) values (1, 'monRemix', 'Jojo Beat') ;

Récupérer le dernier token -> hash de la primary key (dans cqlsh)

select token() from remix;

Obtenir le partitionnement

ccm node1 nodetool ring

Savoir où vont être répliquer les données

ccm node1 nodetool getendpoints ksjojob remix 1

Connaitre les données rangées dans un node

ccm node3 json -k ksjojob -c remix test; cat test

Pour arrêter un noeud

ccm node3 stop

Un noeud non à jour est mis à jour quand un noeud à jour est UP sur le réseau. En effet Cassandra gère les timestamp et sait donc quelle valeur est la plus récente.

Ce que l’on peut retenir

Lien vers le tutoriel
Written with StackEdit.