Cassandra et spark : configuration du cluster

Informations sur le cluster

Adresses ip :

Machines distantes

130.79.129.156
130.79.129.173
130.79.129.157
130.79.129.146

Ma machine

130.79.129.184

Déploiement du cluster Cassandra

Requirement

sudo apt-get install curl

Installation

echo "deb http://www.apache.org/dist/cassandra/debian 311x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list	
curl https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -
sudo apt-get update
sudo apt-get install cassandra

Manipulation

Démarrer le daemon cassandra

sudo service cassandra start

Arrêter le daemon cassandra

sudo service cassandra stop

Status de noeud actuel

nodetool status

Suppression des tables de base

sudo rm -rf /var/lib/cassandra/data/system/*

Configuration du .yaml

Ouvrir le fichier avec un éditeur de texte

sudo vim /etc/cassandra/cassandra.yaml

Modifier les valeurs suivantes

cluster_name : 'CDS_cass'
#
seed_provider:
	-class_name: org.apache.cassandra.locator.SimpleSeedProvider
	parameters:
		-seeds: "130.79.129.184,130.79.129.156,130.79.129.173,130.79.129.157,130.79.129.146"
#
listen_address: 130.79.129.184
#
rpc_address: 130.79.129.184
#
endpoint_snitch : GossipingPropertyFileSnitch
# ce dernier est à ajouter
auto_bootstrap: false

Après un redémarrage des machines, le réseau est configuré

benoit@cds-stg-3:~/workspace/cass$ nodetool status
Datacenter: dc1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address         Load       Tokens       Owns (effective)  Host ID                               Rack
UN  130.79.129.157  303,36 KiB  256          19,4%             513c2b79-2a76-48aa-86a9-ef6272e0487c  rack1
UN  130.79.129.173  91,96 KiB  256          17,5%             b17cb204-75f7-48d5-ad62-273441a4480d  rack1
UN  130.79.129.156  217,66 KiB  256          21,6%             1f5313c0-719a-43ba-bb7d-9e04a9ed2184  rack1
UN  130.79.129.184  289,18 KiB  256          20,6%             84c8244f-dc55-4aaf-8a9d-61dfd0a8fb44  rack1
UN  130.79.129.146  235,85 KiB  256          20,9%             20fbd878-66f6-45f9-8d44-455cf33f566b  rack1

Déploiement du cluster spark

Le master node est installé sur le noeud 130.79.129.184.

Installation de spark

Sur chaque machine doit être réalisé l’installation de spark.

wget http://apache.mediamirrors.org/spark/spark-2.3.1/spark-2.3.1-bin-hadoop2.7.tgz
tar xvzf spark-2.3.1-bin-hadoop2.7.tgz
sudo mv spark-2.3.1-bin-hadoop2.7 /opt/spark

Configuration de spark

cd /opt/spark/conf
cp spark-env.sh.template spark-env.sh
cp spark-defaults.conf.template spark-defaults.conf
spark-env
export SPARK_LOCAL_IP=<Ip machine actuelle>
export SPARK_MASTER_HOST=130.79.129.184
#pour les esclaves
export SPARK_NO_DAEMONIZE=true
spark-defaults
spark.master                        spark://130.79.129.184:7077
spark.jars.packages                 datastax:spark-cassandra-connector:2.3.0-s_2.11
spark.cassandra.connection.host     130.79.129.184,130.79.129.156,130.79.129.173,130.79.129.157,130.79.129.146
démarrer le maître
/opt/spark/sbin/start-master.sh

On peut obtenir le statut du maître en accédant à http://130.79.129.184:8080/

démarrer un esclave
/opt/spark/sbin/start-slave.sh spark://130.79.129.184:7077		
copier les fichiers sur les machines (temporaires)
scp benoit@130.79.129.184:/opt/spark_test/tmass.csv tmass.csv
sudo cp tmass.csv /opt/spark_test/tmass.csv

Lien vers le tuto
Installation cassandra
Written with StackEdit.