Supervision d'un cluster Cassandra avec Datastax OpsCenter sur Debian 8

Supervision d'un cluster Cassandra avec Datastax OpsCenter sur Debian 8

Publié le 30/09/2015

Nous allons mettre en place un VM avec OpsCenter pour gérer et superviser un cluster Cassandra (Cf: tutorial sur l'installation d'un cluster Cassandra).

1 - Installation de la VM OpsCenter

1.1 - Configuration de la VM

Paramètres VM :

  • - 2 CPU
  • - 2 Go RAM
  • - 20 Go DD

Config Réseau :

  • - host : ops-center-srv
  • - IP : 192.168.0.100
  • - masque : 255.255.255.0
  • - passerelle : 192.168.0.254
  • - dns : 192.168.0.1

1.2 - Installation de Java 8


echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
apt-get update
apt-get install oracle-java8-installer

1.3 - Installation d'OpsCenter

Ajout du repository :

nano /etc/apt/sources.list.d/datastax.community.list

Ajouter :

deb http://debian.datastax.com/community stable main

Ajout de la clé du repository :

curl -L https://debian.datastax.com/debian/repo_key | sudo apt-key add -

Installation :

apt-get update apt-get install opscenter

Démarrage :

service opscenterd start

On se connectera plus tard l'interface de gestion une fois les agents déployés.

2 - Configuration des noeuds du cluster

On va réaliser les opérations suivantes sur chaque noeud du cluster.

2.1 - Activation de l'authentification JMX :

nano /etc/cassandra/cassandra-env.sh

Modifier :

LOCAL_JMX=no

Copier le fichier jmxremote.password.template dans le dossier de config de Cassandra :

cp /usr/lib/jvm/java-8-oracle/jre/lib/management/jmxremote.password.template /etc/cassandra/jmxremote.password

Affectation des droits et permissions :

chown cassandra:cassandra /etc/cassandra/jmxremote.password chmod 400 /etc/cassandra/jmxremote.password

Edition du fichier password :

nano /etc/cassandra/jmxremote.password

Ajouter en fin de fichier le nom d'utilisateur et mot de passe et décommenter monitorRole et controlRole :

monitorRole QED controlRole R&D cassandra "votre mot de passe"

Edition du fichier jmxremote.access :

nano /usr/lib/jvm/java-8-oracle/jre/lib/management/jmxremote.access

Remplacer les directives existantes et ajouter les nouvelles :


monitorRole readonly
cassandra readwrite
controlRole readwrite \
create javax.management.monitor.*,javax.management.timer.* \
unregister

Décommenter la ligne suivante du fichier cassandra-env.sh:

nano /etc/cassandra/cassandra-env.sh


# add this if you're having trouble connecting:
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname="

Remplacer <public name>, par l'ip du noeud.

Redémarrage de Cassandra :

service cassandra restart

Vérifier que le cluster répond :

nodetool -h 192.168.0.251 -u cassandra -pw qqq status

2.2 - Installation du Datastax Agent

Ajout du repository :

nano /etc/apt/sources.list.d/datastax.community.list

Ajouter :

deb http://debian.datastax.com/community stable main

Ajout de la clé du repository :

curl -L https://debian.datastax.com/debian/repo_key | sudo apt-key add -

Installation du packet :


apt-get update
apt-get install datastax-agent

2.3 - Configuration et démarrage

Editer le fichier /var/lib/datastax-agent/conf/address.yaml :

nano /var/lib/datastax-agent/conf/address.yaml

Ajouter :

stomp_interface: 192.168.0.100 thrift_user: cassandra thrift_pass: "votre mot de passe"

Edition du fichier cassandra.yaml :

nano /etc/cassandra/cassandra.yaml

Modifier la directive suivante :


start_rpc: true

Ajout de l'utilisateur cassandra au groupe sudo :


apt-get install sudo
passwd cassandra "votre mot de passe"
adduser cassandra sudo

Démarrage :

L'ordre de démarrage des machines est important, sinon le serveur de supervision risque de ne pas pouvoir contacter correctement les machines du cluster.

1 - Suppression des anciens keyspace :

rm -rf /var/lib/cassandra/*