• Call us: 1(704) - 858 - 0065
  • Email us: dmngaya@dmnbigdata.com
  • Working Hours: 8am - 6pm

Créer un Cluster Datastax Enterprise avec Cassandra sur Centos 6.7

Le but de ce post est d’expliquer comment créer un cluster Datastax Enterprise avec Cassandra sur Centos 6.7. Nous allons utiliser un utilitaire appelé csshx qui nous permet de travailler simultanément sur plusieurs machines , vous pouvez voir comment l’installer sur ce site: http://www.unixmen.com/how-to-manage-multiple-ssh-sessions-using-cluster-ssh-and-pac-manager/

Dans notre exemple, nous avons installé 4 machines virtuelles sur Centos 6.7:

Machine:                            IP Address:
base                                192.168.56.71
dn1                                 192.168.56.72
dn2                                 192.168.56.73
dn3                                 192.168.56.74

Voir ci-dessous les images des 4 machines virtuelles:

1) INSTALLATION PARE-FEU: NOUS DEVONS VÉRIFIER SI LES PORTS SONT OUVERTS ET DISPONIBLES:

Comment configurer pare-feu sur Ubuntu en suivant les liens suivants:

http://www.howtogeek.com/115116/how-to-configure-ubuntus-built-in-firewall/

Comment configurer pare-feu sur Centos en suivant les liens suivants: 

http://msvaljek.blogspot.com/2015/01/setting-up-cassandra-cluster-in-virtual.html

2) Lmite de ressources des utilisateurs:

voir les limites actuelles en utilisant la commande ulimit -a . DataStaxrecommande de rendre les changements permanents: Installations par packages: les paramètres suivants sont inclus dans le fichier/etc/security/limits.d/cassandra.conf: – memlock unlimited – nofile 100000 – nproc 32768 – as unlimited

Installations Tarball: les paramètres sont inclus dans le fichier /etc/sécurité/limites.conf:

– memlock unlimited
– nofile 100000
– nproc 32768
– as unlimited

Pour les systèmes d’exploitation CentOS, RHEL, OEL , définir également les limites de nproc dans le fichier /etc/security/limits.d/90-nproc.conf:

– nproc 32768

Pour toutes les installations, ajouter la ligne suivante dans le fichier /etc/sysctl.conf:

vm.max_map_count = 131072

Pour que les modifications prennent effet, redémarrez le serveur ou exécutez la commande suivante:

$ sudo sysctl -p

3) Mettre à jour les packages:

sudo yum update

4) Installation de vim:

sudo yum install vim

5) Installation de jdk:

Installez la dernière version de Java 7: Oracle JDK 1.7+ requis pour Cassandra 2.0+, Oracle 64 bits de préférence. Nous pouvons utiliser le script shell ci-dessous pour télécharger et installer Java.
sudo wget --no-check-certificate --no-cookies --header "Cookie:oraclelicense=accept-securebackup-cookie"
Pour plus de détail sur le script shell , vous pouvez consulter le lien github suivant https://gist.github.com/P7h/9741922.

Installation de Oracle Jdk sur les systèmes linux Redhat:

Voir le Lien : https://docs.datastax.com/en/cassandra/2.0/cassandra/install/installJdkRHEL.html
Créer un répertoire: mkdir -p /usr/java/latest
sudo mv jdk-8u51-linux-x64.tar.gz /usr/java/latest
cd /usr/java/latest ;sudo tar -zxf jdk-8u51-linux-x64.tar.gz
sudo /usr/sbin/alternatives --install "/usr/bin/java" "java" "/usr/java/latest/jdk1.8.0_51/bin/java" 1
sudo /usr/sbin/alternatives --config java
java -version
[hduser@base ~]$ java -version
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b25)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

Installation de Oracle Jdk sur les systèmes DEBIAN OU UBUNTU :

Voir ce lien https://docs.datastax.com/en/cassandra/2.0/cassandra/install/installJdkDeb.html • Configurer JAVA_HOME sur Centos: JAVA_HOME=/usr/lib/java/jdk1.8.0_40 • Installer les librairies de JAVA NATIVE ACCESS (JNA) (Avant la version de C*2.1) : nécessaire pour les systèmes de production Installation du JNA sur les sytèmes RHEL ou CentOS : Voir le lien: https://docs.datastax.com/en/cassandra/2.0/cassandra/install/installJnaRHEL.

installation de jna:

sudo yum install jna

Installation du jna sur les systèmes DEBIAN OU UBUNTU :

https://docs.datastax.com/en/cassandra/2.0/cassandra/install/installJnaDeb.html

6) SYNCHRONISEZ LES HORLOGES SUR CHAQUE NOEUD: UTILISEZ NTP OU UN OUTIL SIMILAIRE

Voir le lien: http://www.rackspace.com/knowledge_center/article/using-ntp-to-sync-time .Tous les noeuds doivent avoir le même temps .

7) Désactiver le swap :

sudo swapoff -all
En environnement de production, le système d’exploitation peut perdre de la memoire (swap) si nous ne le désactivons pas, il peut être difficile de le reproduire.

8) AJOUTER LE DEPOT (APPELE REPOSITORY) DATASTAX COMMUNITY DANS LE FICHIER /etc/yum.repos.d/datastax.repo:

[datastax]
name = DataStax Repo for Apache Cassandra
baseurl = http://rpm.datastax.com/community
enabled = 1
gpgcheck = 0

INSTALLER LES PACKAGES:

$ sudo yum install dsc22
$ sudo yum install cassandra22-tools     ## Installs optional utilities

9) NOW CASSANDRA IS RUNNING :

[hduser@base ~]$ ps -ef|grep java|grep cassandra

NOUS DEVONS ARRÊTER CASSANDRA:

sudo service Cassandra stop

ENSUITE SUPPRIMER TOUT LE RÉPERTOIRE DE CASSANDRA:

cd /var/lib/Cassandra/
ls -ltr *
[hduser@base cassandra]$ ls -ltr
total 12
drwxr-xr-x 8 cassandra cassandra 4096 30 déc.  21:33 data
drwxr-xr-x 2 cassandra cassandra 4096  3 janv. 20:47 saved_caches
drwxr-xr-x 2 cassandra cassandra 4096  3 janv. 23:54 commitlog
rm -Rf    */*

10) CONFIGURATION DU FICHIER CASSANDRA.YAML :

cd   /etc/cassandra/conf
 
Voir tous les fichiers de configuration :

OUVRIR LE FICHIER CASSANDRA.YAML :

sudo vi Cassandra.yaml

Changer le nom du cluster, par exemple, je mets Training_Cluster sur tous les nœuds:

Changer la valeur du paramètre listen_address: en mettant l’adresse IP de chaque machine:

Changer la valeur du paramètre rpc_address: en mettant l’adresse IP de chaque machine:

Fixer les noeuds seeds:

Ma liste de noeud seeds ici sera l’adresse IP du nœud 192.168.56.71 and node 192.168.56.74,ensuite tous les nœuds auront les mêmes adresses IP des noeud seeds.

11) MAINTENANT, NOUS POUVONS REDEMARRER CASSANDRA SUR TOUS LES NŒUDS VIA CSSH S’IL A ETE CONFIGURE SUR CHAQUE NOEUD:

[hduser@base cassandra]$ sudo service cassandra start
Starting Cassandra: OK

12) TO VERIFY THE STATUS ON CASSANDRA ON ALL NODES:

[hduser@base cassandra]$ sudo service cassandra status
cassandra (pid 3968) is running–

13) VÉRIFIER LE STATUT DE CASSANDRA SUR TOUS LES NOEUDS:

[hduser@base cassandra]$ nodetool -h 192.168.56.71 status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address       Load    Tokens Owns Host ID                            Rack
UN 192.168.56.72 40.21MB 256   ?  5ddb3532-70de-47b3-a9ca-9a8c9a70b186 rack1
UN 192.168.56.73 50.88MB 256   ?  ea5286bb-5b69-4ccc-b22c-474981a1f789 rack1
UN 192.168.56.74 48.63MB 256   ?  158812a5-8adb-4bfb-9a56-3ec235e76547 rack1
UN 192.168.56.71 48.52MB 256   ?  a42d792b-1620-4f41-8662-8e44c73c38d4 rack1
Vous venez de créer un Cluster Datastax Enterprise avec Cassandra sur Centos 6.7.
? a42d792b-1620-4f41-8662-8e44c73c38d4 rack1

Laisser un commentaire

Fermer le menu
×
×

Panier