Cassandra Lan Party
          (Hands on Cassandra)

     Florent Ramière - @framiere
      Jérémy Sevellec - @jsevellec
   Nicolas Romanetti - @nromanetti
     Sylvain Lebresne - @pcmanus




                                     1
Check List participant

•   Un portable avec prise RJ-45

•   Idéalement un câble ethernet. Nous pouvons vous en prêter si vous n’
    n’avez pas.

•   Désactivez tout de suite le WIFI

•   Branchez votre portable sur secteur seulement si pas assez de batterie



                                                                             2
Cassandra Lan Party


•   Monter un cluster réparti sur 3 DataCenter

•   Just for fun!

•   A New York, ils ont fait un cluster de 21 noeuds...




                                                          3
Merci pour le prêt de matériel!

•   Euratechnologies : Parc d’activités TIC et Incubateur sur Lille

      •   http://www.euratechnologies.com/

•   Thomas Recloux : Indépendant et Ch’ti JUG (Co)leader

      •   @thomasrecloux



                                                                      4
Matériel

•   Nous disposons de 4 switches reliés entre eux

•   Quelques prises multiples

•   Quelques câbles ethernet

•   Et vous!



                                                    5
Comment on s’organise

1. Mise en place du réseau

2. Installation / Configuration de Cassandra

3. Démarrage du cluster

4. Have Fun :-)

   Si vous avez un doute ou êtes perdu : demandez au STAFF, on est là pour ça!


                                                                                 6
Installation et configuration
          du réseau
         Evitons de faire ça :-)




                                   7
Ca va donner ça :
                                         WORLD




   Lille - 10.1.1.z             Paris - 10.2.1.z           Ajaccio - 10.3.1.z
10.1.1.1   10.1.1.2           10.2.1.1    10.2.1.2         10.3.1.1   10.3.1.2
Jérémy        ...
                      ...     Florent        ...
                                                     ...   Sylvain       ...     ...




                                                                                       8
On commence


•   Groupez-vous physiquement par Data Center (un switch = un DC)

•   Idéalement: même nombre de machines par Data Center




                                                                    9
Attribution des IPs
•   votre ip sur un post-it avec votre nom et nous vous raccordons à un switch :
                                              10.1.1.3
                               10.1.1.1
                                            Jean Claude
                               Jérémy




                                 10.1.1.2      ...
                                  Chuck


                                                                                   10
Conf Réseau
•    Conf réseau :
                                          • Pour tester si tout est ok
    • 10.<votreDC>.1.<vous>
                                           • ping : 10.1.1.1
    • Masque de sous réseau : 255.0.0.0
                                           • ping : 10.2.1.1
    • Pas de proxy
                                           • ping : 10.3.1.1
    • Pas de routeur
                                           • browser : http://10.1.1.0:8080
•    Attention: NE DÉMARREZ PAS CASSANDRA


                                                                              11
Installation et configuration
        de Cassandra




                               12
Récupération de cassandra
•   Sont disponibles sur quelques clés USB ou sur le site http://10.0.0.1:8080

    •   JVM 1.6 pour windows 64 / etc...

    •   Distribution DataStax de Cassandra

•   On fait passer les clés ou on télécharge sur le site...

•   On décrompresse dans un répertoire à votre convenance

•   Attention: NE DÉMARREZ PAS CASSANDRA, NI OPSCENTER


                                                                                 13
Post-installation Cassandra
•   sudo mkdir /var/lib/cassandra (avec les droits d’écritures :-))

•   sudo mkdir /var/log/cassandra (avec les droits d’écritures :-))

•   editez conf/log4j-*.properties et passez le log level à DEBUG

•   editez conf/cassandra.yaml

    - seeds: "10.1.1.1,10.2.1.1,10.3.1.1"

    listen_address: votreIp

    rpc_address: votreIp

    endpoint_snitch: org.apache.cassandra.locator.RackInferringSnitch (il est en
    commentaire dans le fichier de conf)

    Attention: NE DÉMARREZ PAS CASSANDRA, NI OPSCENTER
                                                                                   14
Attribution du Token

•   Ouvrez http://10.1.1.0:8080/ et copiez le token correspondant à votre IP

•   Collez ce token dans conf/cassandra.yaml
    initial_token: votreToken

•   Faites valider par votre conf par votre voisin

•   Attention: NE DÉMARREZ PAS CASSANDRA, NI OPSCENTER




                                                                               15
Démarrage de Cassandra

• D’abord : démarrage des « seed node » (un par
  datacenter)

• Attendre le Go du Staff
• Depuis le répertoire d’installation de Cassandra
•bin/cassandra -f
                                                     16
Création du Keyspace
•   1 seule personne crée le keyspace et la column family (Nicolas)

•   create keyspace ks with placement_strategy = 'NetworkTopologyStrategy'
    and strategy_options ={1:3,2:3,3:3};

•   use ks;

•   create column family party with key_validation_class = 'UTF8Type' and
    comparator = 'UTF8Type' and default_validation_class = 'UTF8Type';

•   create column family user with key_validation_class = 'UTF8Type' and
    comparator = 'UTF8Type' and default_validation_class = 'UTF8Type';



                                                                             17
Quelques commandes pour vous

•       visualiser l’état du cluster : bin/nodetool -h <votreIP> ring

•       Manipuler des données : bin/cassandra-cli -h <votreIp>

    •    use ks;         row key           Colum name            Colum value
    •    set party['devoxx']['<votreIp>']=<votre nom et prenom>;

    •    list party;


    On s’assure que tout le monde a réussi à ajouter sa colonne

                                                                               18
Remplisser votre fiche user!

•   use ks;

•   set user['votre@email']['twitter']= '@votretwitter';

•   set user['votre@email']['favorite director']= 'Quentin Tarantino';

•   set user['votre@email']['favorite band']= 'The Rolling Stones';

•   etc...

•   list user;



                                                                         19

Cassandra Lan Party à Devoxx France

  • 1.
    Cassandra Lan Party (Hands on Cassandra) Florent Ramière - @framiere Jérémy Sevellec - @jsevellec Nicolas Romanetti - @nromanetti Sylvain Lebresne - @pcmanus 1
  • 2.
    Check List participant • Un portable avec prise RJ-45 • Idéalement un câble ethernet. Nous pouvons vous en prêter si vous n’ n’avez pas. • Désactivez tout de suite le WIFI • Branchez votre portable sur secteur seulement si pas assez de batterie 2
  • 3.
    Cassandra Lan Party • Monter un cluster réparti sur 3 DataCenter • Just for fun! • A New York, ils ont fait un cluster de 21 noeuds... 3
  • 4.
    Merci pour leprêt de matériel! • Euratechnologies : Parc d’activités TIC et Incubateur sur Lille • http://www.euratechnologies.com/ • Thomas Recloux : Indépendant et Ch’ti JUG (Co)leader • @thomasrecloux 4
  • 5.
    Matériel • Nous disposons de 4 switches reliés entre eux • Quelques prises multiples • Quelques câbles ethernet • Et vous! 5
  • 6.
    Comment on s’organise 1.Mise en place du réseau 2. Installation / Configuration de Cassandra 3. Démarrage du cluster 4. Have Fun :-) Si vous avez un doute ou êtes perdu : demandez au STAFF, on est là pour ça! 6
  • 7.
    Installation et configuration du réseau Evitons de faire ça :-) 7
  • 8.
    Ca va donnerça : WORLD Lille - 10.1.1.z Paris - 10.2.1.z Ajaccio - 10.3.1.z 10.1.1.1 10.1.1.2 10.2.1.1 10.2.1.2 10.3.1.1 10.3.1.2 Jérémy ... ... Florent ... ... Sylvain ... ... 8
  • 9.
    On commence • Groupez-vous physiquement par Data Center (un switch = un DC) • Idéalement: même nombre de machines par Data Center 9
  • 10.
    Attribution des IPs • votre ip sur un post-it avec votre nom et nous vous raccordons à un switch : 10.1.1.3 10.1.1.1 Jean Claude Jérémy 10.1.1.2 ... Chuck 10
  • 11.
    Conf Réseau • Conf réseau : • Pour tester si tout est ok • 10.<votreDC>.1.<vous> • ping : 10.1.1.1 • Masque de sous réseau : 255.0.0.0 • ping : 10.2.1.1 • Pas de proxy • ping : 10.3.1.1 • Pas de routeur • browser : http://10.1.1.0:8080 • Attention: NE DÉMARREZ PAS CASSANDRA 11
  • 12.
  • 13.
    Récupération de cassandra • Sont disponibles sur quelques clés USB ou sur le site http://10.0.0.1:8080 • JVM 1.6 pour windows 64 / etc... • Distribution DataStax de Cassandra • On fait passer les clés ou on télécharge sur le site... • On décrompresse dans un répertoire à votre convenance • Attention: NE DÉMARREZ PAS CASSANDRA, NI OPSCENTER 13
  • 14.
    Post-installation Cassandra • sudo mkdir /var/lib/cassandra (avec les droits d’écritures :-)) • sudo mkdir /var/log/cassandra (avec les droits d’écritures :-)) • editez conf/log4j-*.properties et passez le log level à DEBUG • editez conf/cassandra.yaml - seeds: "10.1.1.1,10.2.1.1,10.3.1.1" listen_address: votreIp rpc_address: votreIp endpoint_snitch: org.apache.cassandra.locator.RackInferringSnitch (il est en commentaire dans le fichier de conf) Attention: NE DÉMARREZ PAS CASSANDRA, NI OPSCENTER 14
  • 15.
    Attribution du Token • Ouvrez http://10.1.1.0:8080/ et copiez le token correspondant à votre IP • Collez ce token dans conf/cassandra.yaml initial_token: votreToken • Faites valider par votre conf par votre voisin • Attention: NE DÉMARREZ PAS CASSANDRA, NI OPSCENTER 15
  • 16.
    Démarrage de Cassandra •D’abord : démarrage des « seed node » (un par datacenter) • Attendre le Go du Staff • Depuis le répertoire d’installation de Cassandra •bin/cassandra -f 16
  • 17.
    Création du Keyspace • 1 seule personne crée le keyspace et la column family (Nicolas) • create keyspace ks with placement_strategy = 'NetworkTopologyStrategy' and strategy_options ={1:3,2:3,3:3}; • use ks; • create column family party with key_validation_class = 'UTF8Type' and comparator = 'UTF8Type' and default_validation_class = 'UTF8Type'; • create column family user with key_validation_class = 'UTF8Type' and comparator = 'UTF8Type' and default_validation_class = 'UTF8Type'; 17
  • 18.
    Quelques commandes pourvous • visualiser l’état du cluster : bin/nodetool -h <votreIP> ring • Manipuler des données : bin/cassandra-cli -h <votreIp> • use ks; row key Colum name Colum value • set party['devoxx']['<votreIp>']=<votre nom et prenom>; • list party; On s’assure que tout le monde a réussi à ajouter sa colonne 18
  • 19.
    Remplisser votre ficheuser! • use ks; • set user['votre@email']['twitter']= '@votretwitter'; • set user['votre@email']['favorite director']= 'Quentin Tarantino'; • set user['votre@email']['favorite band']= 'The Rolling Stones'; • etc... • list user; 19