[PDF] Configurer Apache STORM Version 1.1 Introduction





Previous PDF Next PDF



Interface graphique Java.pdf

Réalisation d'interfaces graphiques. Avec NetBeans Les fichiers permettant d'obtenir des éléments graphiques sont dans Java Gui Forms.



Création dune application JEE

(Entreprise Java Bean) sera piloté à partir d'une autre application distante ou locale (client EJB). Cette interface graphique est en fait une couche.



Programme détaillé de deuxième année et troisième année Filière

L'objectif du cours de Java est d'apprendre les rudiments du langage Les interfaces graphiques avec Swing (design patterns "observeur" - écouteur - et.



Re alisation dun GPS communautaire

5 mars 2014 we combined Java HTML and JavaScript associated to Google Maps API. ... de bases de données MySQL qui permet via une interface graphique ...



Tutorial : RMI

JAVA. ISIMA. Page 1. Tutorial : RMI. CREATION : 2010/04/22 une jolie interface graphique : création automatique d'un fichier MANIFEST choix de la.



Rapport projet Android.pdf

13 mai 2011 L'interface graphique. Nous vous invitons à consulter un document sur la page personnel de M. Philippe Lacomme : "HTTP://WWW.ISIMA.FR/~LACOMME/ ...



Configurer Apache STORM Version 1.1 Introduction

Avec Ubuntu on peut utiliser l'interface graphique pour configurer le réseau. Un worker (travail à faire) est un processus Java affecté à une JVM sur un ...



Réalisation dinterfaces graphiques pour des programmes écrits en

2.1 Installation de la librairie graphique GTK. interfaces graphiques avec un environnement Ada. ... Exactement il faut installer un JRE (Java RunTime.



Grande école publique dingénieurs en informatique - Bien choisir

L'ISIMA est une grande école publique d'ingénieurs en informatique. interface à de nombreuses applications. ... services les technologies Java…



Programme détaillé de deuxième année et troisième année Filière

connaissances en concepts objets et de construire ses premières applications graphiques Java avec la bibliothèque JavaFX. Plan du cours.

Configurer Apache STORM Version 1.1 Introduction 1

Configurer Apache STORM

avec plusieurs

Version 1.1

Rédacteurs V1 : Philippe Lacomme (placomme@isima.fr), Raksmey Phan (phan@isima.fr)

Date : 24 août 2015

Rédacteurs V2 : Philippe Lacomme (placomme@isima.fr), Raksmey Phan (phan@isima.fr), étudiants en projets ISIMA (Soriano Baptiste et Zouggari Yannis)

Date : 23 juin 2016

Installation réalisée sur : Ubuntu 15.04

Environnement : Vmware

Documents à consulter :

Licence :

Ce document est une compilation d'information parfois en Anglais ou en Français librement accessibles sur Internet. Permission vous est donnée de copier, distribuer et/ou modifier ce document selon les termes de la Licence GNU Free Documentation License, version 1.3 ou ultérieure publiée par la Free Software Foundation ; sans section inaltérable, sans texte de première page de couverture et sans texte de dernière page de couverture. Une copie de cette licence en anglais est consultable sur le site suivant : http://www.gnu.org/licenses/fdl.html

Objectifs :

2 objectifs dans ce tutoriel :

- apprendre à configurer plusieurs machines virtuelles - donner les définitions de bases des différentes architectures

Introduction

Un cluster se compose (figure 1) :

- r ; 2

Nimbus

Zookeeper

ui

Supervisor

Supervisor

Cluster Storm

Figure 1. Architecture d'un cluster Storm

Le rôle de chaque élément est le suivant : - Zookeeper : coordonne le fonctionnement de chaque élément ; - Nimbus - ui : fournit une interface graphique de supervision ;

- Supervisor : reçoit des tâches de Nimbus, démarre les éléments de la topologie et fournit un

résultat.

Dans les tutoriels précédents nous avons hébergé ces éléments sur la même machine physique.

Nous allons ici créer un cluster Storm à

esclaves.

1. Identifier une machine virtuelle sur le réseau

Il faut disposer d'adresse IP fixes et configurer correctement la machine virtuelle.

Nous allons supposer que nous disposons de 3 adresses de la forme suivante avec un DNS identifié par

172.16.64.250

Address netmask gateway

172.16.76.32 255.255.240.0 172.16.79.254

172.16.76.33 255.255.240.0 172.16.79.254

172.16.76.34 255.255.240.0 172.16.79.254

Il faut se rendre dans le menu Paramètres de la VM dans la section Réseau et consulter la

configuration de la carte 1. En général, la configuration est positionnée sur NAT, ce qui signifie

que la VM peut accéder à Internet mais qu'elle n'est pas accessible sur le réseau.

Il faut basculer le mode d'accès au réseau en "Accès par pont" et sélectionner la carte réseau de

la machine hôte (figure 2). 3 Figure 2. Modification de la configuration réseau

Avec Ubuntu on peut utiliser l'interface graphique pour configurer le réseau. Il suffit de cliquer

sur l'icône du haut et de choisir Edit Connections (figure 3). Figure 3. Accès à la configuration réseau sous Ubuntu L'ensemble des connections apparait et dans la majorité des cas, une seule connexion sera dans la liste (figure 4). 4

Figure 4. Site de Zookeeper

Il suffit de choisir et de modifier la configuration comme indiqué sur la figure 5.

Figure 5. Ajout d'une adresse ip fixe

Une autre méthode, presque aussi rapide, consiste à éditer le fichier "interfaces" via la

commande : sudo gedit /etc/network/interfaces Le fichier doit être modifié comme celui de la figure 6. 5

Figure 6. Modification du fichier interfaces

Pour vérifier que tout fonctionne correctement.

1) Il faut démarrer le cluster Storm avec la commande ./lance_storm.sh

2) Dans un navigateur Internet, on peut consulter le site localhost:8772 sur la machine virtuelle

(figure 7) Figure 7. Storm ui consulté à partir de la machine virtuelle 6

3) Dans un navigateur Internet, on peut consulter le site 172.16.76.32:8772 à partir de la

machine hôte (figure 8) Figure 8. Storm ui consulté à partir de la machine hôte

2. Deux machines dans le cluster Storm

On retient une architecture avec 3 machines virtuelles (figure 9) : - la machine virtuelle 1 va héberger Nimbus et Zookeeper - les machines virtuelles 2 et 3 vont héberger chacun un Supervisor 7

172.16.76.32172.16.76.33

Nimbus

Supervisor

Zookeeper

172.16.76.34

Supervisor

Figure 9. Architecture avec 3 machines virtuelles

Configuration de la machine virtuelle 1

Il faut éditer le fichier storm.yaml qui se trouve dans le répertoire /Desktop/installation/storm/conf Il faut modifier le contenu en remplaçant localhost par 172.16.76.32 (figure 10)

Figure 10. Le fichier storm.yaml

Sur cette machine, seuls Nimbus et Zookeeper doivent démarrer. Il faut éditer le fichier

lance_storm.sh et le modifier comme suit : cd /home/osboxes/Desktop/installation/zookeeper-3.4.6/bin/ ./zkServer.sh start & cd /home/osboxes/Desktop/installation/storm/bin/ ./storm nimbus & ./storm ui &

Configuration de la machine virtuelle 2

8

Il faut éditer le fichier storm.yaml qui se trouve dans le répertoire et le modifier comme cela a

été fait pour la machine virtuelle 1. Et cette fois avec l'adresse ip 172.16.76.33. Sur cette machine, seul le supervisor va fonctionner. Il faut éditer le fichier lance_storm.sh et le modifier comme suit : cd /home/osboxes/Desktop/installation/storm/bin/ ./storm supervisor &

Vérification de la configuration

Une fois lancée, sous Windows, on peut se connecter à l'adresse de la machine virtuelle 1

http://172.16.76.32:8772/index.html, sur laquelle est exécutée l'interface de suivi de l'état du

cluster Storm (figure 11).

Figure 11. Le cluster Storm

Configuration de la machine virtuelle 3.

Sa configuration est identique à celle de la machine 2 avec l'adresse ip 172.16.76.34.

Vérification de la configuration

La vérification se fait comme pour la machine virtuelle 2 à l'adresse

http://172.16.76.32:8772/index.html. Une fois que les machines virtuelle 2 et 3 sont exécutées,

l'interface de suivi de l'état du cluster doit afficher ces deux machines.

(machine virtuelle 1), ils s'échangent des données d'identifications qui sont contenues dans le

9 dossier "data" du réperto d'un déplacement physique des machines) il faut penser à supprimer ce dossier avant une nouvelle connexion si on souhaite réinitialiser l'identification des machines.

3. Tests

Il faut se rendre sur la machine Maître dans le répertoire bin de storm et taper en ligne de commande : storm jar DemoStorm.jar demostorm.DemoStorm DemoStorm demostorm.DemoStorm DemoStorm -c nimbus.host=localhost Si on prend une des "slave machine", dans le répertoire /Storm/logs, on peut trouver les fichiers worker-xxxx.log (figure 12).

Figure 12. Un job exécuté sur l'esclave 1

On peut parcourir le fichier et on trouvera dans le fichier, une partie des affichages qu'on ne trouve pas sur la machine Maître (figure 13). 10 Figure 13. Une partie des résultats dans le fichier log.

4. Principes d'exécution en parallèle

Comme nous l'avons rappelé au début de ce document, un cluster Storm met en jeu : - Zookeeper : coordonne le fonctionnement de chaque élément ; - Nimbus - ui : fournit une interface graphique de supervision ;

- Supervisor : reçoit des tâches de Nimbus, démarre les éléments de la topologie et fournit un

résultat. L'ensemble de cette architecture s'exécute sur des ressources matérielles (machines) qu'on

On peut retenir les définitions suivantes :

- Un master est une machine physique sur laquelle est installée un ensemble d'outils (Zookeeper, - U (node) est une machine virtuelle qui exécute une partie de la topologie (ainsi une

à partir du

master. - Un worker (travail à faire) est un processus Java affecté workers peuvent être affectés à un même n Un worker peut contenir plusieurs executors. - Un executor -à-dire un ensemble d'opérations exécutées de manière séquentielle. Un executor peut contenir plusieurs tasks.

- Une tâche (ou task) peut être considérée comme l'instanciation d'un Spout ou d'un Bold. Dans

l'architecture Storm, c'est donc l'élément le plus petit qui réalise une fonction. 11

Un node : 172.16.76.33

On lui affecte " Un worker »

Exécute un thread sur la

machine

Code Jaǀa d'un

Bolt

Code Jaǀa d'un

Spout

Figure 14. Principe des threads et worker

Ce principe appliqué au problème de décompte des mots donne le schéma de la figure 15. On

met en évidence que 4 threads s'exécutent en parallèle dans le système, la communication se

faisant par l'intermédiaire des streams échangés entre les threads.

Un node : 172.16.76.33

On lui affecte " Un worker »

Thread 1

Code Java du

Spout (génération de phrases)

Code Java du

Bolt (découpe des phrases en mots)

Thread 2

Code Java du

Bolt (décompte des mots)

Thread 3

Code Java du

Bolt (affichage des mots)

Thread 4

Worker

Figure 14. Principe des threads pour le décompte des mots 12

Remarque :

L'exécution en parallèle se fait uniquement au niveau des threads. Chaque tâche (spout ou bolt)

est exécutée dans un thread.

5. Principes de gestions des Threads

Définir le nombre de workers

Par défaut le nombre de worker est fixé à 1, mais on peut spécifier le nombre de worker en

utilisant la méthode setNumWorker(). Ce qui donne un code comme celui-ci :

Config configuration = new Config();

configuration.setDebug(true); configuration.setNumWorkers(2); Avec cette modification, le code Java du main() devient :

Config configuration = new Config();

configuration.setDebug(true); configuration.setNumWorkers(2); if (args != null && args.length > 0) {

StormSubmitter.submitTopology(args[0],

configuration, topologie.createTopology()); else

LocalCluster cluster = new LocalCluster();

cluster.submitTopology(TOPOLOGY_NOM, configuration, topologie.createTopology()); int i=1; while (spout_genere_phrases.consulter_etat()==0)

Utils.waitForSeconds(1);

Utils.waitForSeconds(20);

cluster.killTopology(TOPOLOGY_NOM); cluster.shutdown(); Configurer les tâches et les threads : ajout d'un spout

Le nombre de threads à utiliser pour une tâches (bolt ou spout) est défini au moment où on

définit les Streams qui relient les composants.

Pour ajouter deux spouts de type "spout_genere_phrases" il faut ajouter un troisième paramètres

de valeur 2 : topologie.setSpout(SPOUT_ID, spout_genere_phrases,2);

Par défaut, cela crée en tout 2 tasks de "spout_genere_phrases" dans 2 executors différents.

Dans ce cas, la topologie devient celle de la figure 16. 13

Un node

Thread 1

Code Java du

Spout (génération de phrases)

Code Java du

Bolt (découpe des phrases en mots)

Thread 2

Code Java du

Bolt (décompte des mots)

Thread 3

Code Java du

Bolt (affichage des mots)

Thread 4

Worker

Thread 5

Code Java du

Spout (génération de phrases)

Figure 16. Principe des threads pour le décompte des mots Configurer les tâches et les threads : ajout d'un bolt de découpage A l'intérieur d'un même thread, on peut exécuter plusieurs bolts et on obtient ainsi une topologie dans laquelle le thread 2 va exécuter 4 tâches de type "bolt_decoupe".

topologie.setBolt(BOLT_DECOUPE_ID, bolt_decoupe, 2).

Ce code crée donc 4 tasks de type "bolt_decoupe" qui sont exécutés dans 2 executors différents.

Storm équilibre automatiquement : il y a donc 2 tasks dans chacun des executors. L'ensemble de ces tasks reçoivent un flux du Spout. La topologie est alors celle de la figure 17.quotesdbs_dbs29.pdfusesText_35
[PDF] Règlement intérieur ENSEIRB-MATMECA - Bordeaux INP

[PDF] Guide d 'utilisation des crèmes hormonales - Boutique Anti-Age

[PDF] Créon / Antigone : étapes - Thibaud Saintin

[PDF] Est-ce une craniosténose - CAFCIM

[PDF] CRFCB - Aix-Marseille Université

[PDF] publics eloignes et empeches de la lecture publique - Caravansérail

[PDF] Ecole Industrielle de Jumet - Charleroi

[PDF] Crime et châtiment 2 - La Bibliothèque électronique du Québec

[PDF] Criminologie Introduction - L 'Etudiant

[PDF] Les crises de la dette extérieure de l 'Amérique latine au XIXe siècle

[PDF] Comment expliquer l 'instabilité de la croissance - mediaeduscol

[PDF] Traitement de la crise d 'asthme aiguë chez l 'adulte - John Libbey

[PDF] Conduite ? tenir devant une crise d 'asthme aigu grave de l 'adulte

[PDF] Asthme en Urgence

[PDF] ETUDE DE DOCUMENTS : LA CRISE DE CUBA, LA IIIème - Lyon