[Big Data] Hortonworks : utilisation d’un cluster Storm pour le streaming de données avec HDP 2.x

Ce billet montre comment lancer et utiliser un cluster Storm sur HDP, la plateforme Hadoop de Hortonworks.

Pour en savoir plus sur :

  • Storm et ses topologies, vous pouvez jeter un coup d’œil par ici.
  • Hortonworks et HDP, vous pouvez aller ici.

Avant de commencer…

On supposera qu’un environnement HDP a déjà été installé (via la Sandbox, par exemple, comme vu iciL’OS de la VM est Linux CentOS.

Pour nos tests, nous accéderons au cluster en mode SSH (ssh root@192.168.86.128 –p 2222, dans notre cas) via un client indépendant (PuTTY, KiTTY,…) ou la VM de la Sandbox.


    Activation du service Storm

 Connectez-vous à l’interface Ambari, en tapant, dans un navigateur Web, l’adresse suivante : http://<Adresse_IP_générée_durant_l’installation_de_la_Sandbox> :8080 (soit, dans notre cas : http://192.168.86.128:8080). Ou à la place de l’IP, le nom d’hôte sandbox.hortonworks.com ou sandbox.

Après authentification, allez dans le service Storm, accessible via l’explorateur de services à gauche de l’interface d’accueil :


 

Dans l’interface d’administration de Storm, cliquez sur Service Actions, puis sélectionnez Start :


Confirmez ensuite le lancement :


Si tout va bien :


 

Vous pouvez accéder au tableau de bord de Storm en cliquant sur Storm UI sous Quick Links :


Ou en tapant, dans un navigateur Web, l’adresse suivante : http://<Adresse_IP_générée_durant_l’installation_de_la_Sandbox> :8744 (soit, dans notre cas : http://192.168.86.128:8744).

 

Vérification des processus-clés de Storm

A partir de l’onglet Configs de l’interface Ambari dédiée à Storm ou à partir du tableau de bord Storm UI, il est possible de vérifier la configuration de chaque processus participant au fonctionnement du cluster Storm. Dans notre contexte (onglet Configs), on doit s’assurer que :

  • Le répertoire local de Storm est bien /hadoop/storm et le ZooKeeper tourne bien au sein de notre SandBox (section General)
    :


  • Le Nimbus tourne bien sur notre SandBox :


Si vous souhaitez lancer le Nimbus en ligne de commande shell plutôt qu’avec Ambari :

cd /usr/local/storm/
bin/storm nimbus
  • Le Supervisor tourne bien sur notre Sandbox, avec ses slots utilisant les ports 6700 et 6701 :


Si vous souhaitez lancer le Supervisor en ligne de commande shell plutôt qu’avec Ambari :

cd /usr/local/storm/
bin/storm supervisor

A noter que le Storm UI, s’il est inactif, peut se lancer en ligne de commande shell comme suit:

cd /usr/local/storm/
bin/storm ui

Mise en route d’une topologie pour le streaming

Nous allons utiliser le Storm Starter kit de Hortonworks contenant un certain nombre d’exemples de cas d’utilisation exploitables pour des tests de streaming. Notre cible sera Exclamation, qui est une topologie permettant d’ajouter un point d’exclamation à la fin des mots (ou points d’exclamations) lu(e)s en continu.

  • Récupération du JAR contenant l’exemple, situé dans un repository.
wget http://public-repo-1.hortonworks.com/HDP-LABS/Projects/Storm/0.9.0.1/storm-starter-0.0.1-storm-0.9.0.1.jar


  • Vérification de la présence de la topologie.
jar -xvf storm-starter-0.0.1-storm-0.9.0.1.jar | grep Exclamation


 

  • Mise en route de la topologie.
storm jar storm-starter-0.0.1-storm-0.9.0.1.jar storm.starter.ExclamationTopology ExclamationBolt -c nimbus.host=sandbox.hortonworks.com


La topologie lancée, nous pouvons y jeter un coup d’oeil sur l’interface Storm UI, et observer la section Topology Summary :

 

Un clic sur le nom de la topologie, ExclamationBolt, permet d’accéder à cet exemple d’interface :


 

Un petit scroll-down permet d’accéder notamment aux sections relatives aux spouts (pour les mots) et aux bolts (pour les points d’exclamation) :


Un clic sur les IDs permet d’avoir des informations statistiques détaillées (exécutions, erreurs,…), sachant que dans la section Executors des spouts ou des bolts, il est possible d’accéder aux résultants en cliquant sur le(s) port(s) cible(s).

 

Pour aller plus loin…

Jetez un coup d’œil ici. D’autres articles autour du Big Data et de HDP sont accessibles et continuerons à y être pondus. Vous pouvez également consulter la riche documentation d’Apache Storm ici.

 

 

 

 

 

 


Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s