$ start-dfs.sh $ start-yarn.sh 1 TP 1 - Big Data Programmation Hadoop Introduct

$ start-dfs.sh $ start-yarn.sh 1 TP 1 - Big Data Programmation Hadoop Introduction Dans ce TP, nous manipulerons l’exemple « Word Count » ou « Compteur d’occurrence de mots » vu en cours, en premier lieu sur la machine virtuelle Apache Hadoop (installée par l’étudiant) puis sur la machine virtuelle Cloudera. A. Manipulation sur la VM Apache Hadoop I. Préparation du TD 1. Démarrer la machine virtuelle. 2. Démarrer les services de Hadoop avec les commandes : 3. Vérifier le bon fonctionnement de Hadoop. Utiliser l'outil jps pour lister les processus Java en cours d'exécution : $ jps 3631 Jps 333 6 NodeManager 321 2 ResourceManager 365 1 NameNode 286 3 DataNode 305 2 SecondaryNameNode 2 4. Vérifier que l'environnement de compilation est fonctionnel. (Vérifier que Java est bien installé sur votre machine « java –version »). $ wget --no-check-certificate 'https://docs.google.com/uc? export=download&id=0B4fI_1marvB ZZFYwVm5aYmZ1LUU' -O td1_bigdata_enis.zip $ unzip td1_bigdata_enis.zip $ cd td1_bigdata_enis $ javac -classpath "/usr/local/hadoop/share/hadoop/common/hadoop-common- 2.7.4.jar:/usr/local/hadoop/share/hadoop/mapreduce/hadoop- mapreduce-client-common- 2.7.4.jar:/usr/local/hadoop/share/hadoop/common/lib/commons -cli- 1.2.jar:/usr/local/hadoop/share/hadoop/mapreduce/hadoop- mapreduce-client-core-2.7.4.jar" WCount*java 5. Exécuter la commande suivante (sur la même ligne) : La commande va télécharger une archive contenant : - Le poème ayant servi d'exemple en cours. - Le code d'exemple du cours (classes Driver, Map et Reduce). - Un script permettant la mise en place simplifiée de l'environnement de compilation. Vous pouvez la télécharger directement via le lien : https://goo.gl/jiuFnF 6. Décompresser l'archive : II. Manipulation de l’exemple Nous allons maintenant compiler le code d'exemple Java du cours (compteur d’occurrence de mots). 1. Changer le répertoire courant : 2. Compiler le programme Hadoop (le tout sur la même ligne) : La compilation a généré trois fichiers .class: un pour chacune de nos classes (driver, map et reduce). $ mv *.class enis/hadoop/wordcount $ hadoop fs -ls / $ hadoop jar enis_wcount.jar enis.hadoop.wordcount.WCount /poeme.txt /results $ hadoop fs -ls /results $ hadoop fs -cat /results/part-r-00000 3. On va désormais packager le programme d'exemple au sein d'un fichier .jar. Créer l'arborescence liée au nom du package avec la commande : Et déplacer, par la suite, les fichiers compilés au sein de cette arborescence : 4. Générer le .jar : 5. En préparation de l'exécution de notre programme Hadoop, nous allons maintenant déplacer le texte du poème sur HDFS. Exécuter la commande : et vérifier sa présence avec la commande : 6. Enfin, exécuter notre programme Hadoop avec la commande : La commande devrait prendre tout au plus quelques secondes à s'exécuter. Si tout s'est passé correctement, un message « mapreduce.Job: map 100% reduce 100% » devrait s'afficher. 7. Vérifier la présence des fichiers de résultats dans le répertoire /results avec la commande : (un fichier _SUCCESS devrait être présent, ainsi qu'un fichier part-r-00000). 8. Enfin, afficher les résultats finaux avec la commande : $ mkdir -p enis/hadoop/wordcount $ jar -cvf enis_wcount.jar -C . enis $ hadoop fs -put poeme.txt / Le mot « qui » devrait être le plus présent au sein de la poème (25 occurrences). Consultez la figure 1 ci-dessous. Figure 1. Résultat $ setxkbmap fr $ hdfs dfsadmin -report Live datanodes (1) : $ hadoop version B. Manipulation sur la VM Cloudera Cloudera propose une solution clé en main – gratuite – permettant de bénéficier d’une configuration Hadoop fonctionnelle sous une nouvelle machine virtuelle invitée de VirtualBox (ou autre, ex. VMWare). Dans le cadre de ce TP, nous utiliserons la distribution cloudera basée sur le système d’exploitation CentOs (une machine virtuelle « All-in-One ») et comprenant un cluster Hadoop simple noeud. Dans cette VM plusieurs composantes ont été pré-installé (Spark, Hive, Zeppelin, etc.)  Installer VirtualBox (https://www.virtualbox.org/) si ce n’est pas déjà fait.  Importer la machine virtuelle cloudera-BigData.ova du TP.  Démarrer la machine virtuelle.  Depuis le terminal. Exécuter la commande suivante pour transformer le clavier en azerty  Vérifier le bon fonctionnement de Hadoop en exécutant la commande: La commande vérifie le statut de HDFS. Elle devrait afficher:  Vérifier la version d’Hadoop en exécutant la commande:  A partir d’un navigateur web, le lien suivant http://localhost:50070/ vous permettra d’accéder à l’interface Web du noeud maître (NameNode) Nous allons maintenant compiler le code d'exemple Java du cours (compteur d’occurrence de mots). Objectif: vérifier que l'environnement de compilation soit fonctionnel et que Hadoop soit correctement à même d'exécuter des tâches, et se familiariser avec le processus de compilation. $ mvn clean package $ hadoop fs -mkdir -p /nom.de.votre.dossier/wordcount $ hadoop fs -put data/poeme.txt /nom.de.votre.dossier/wordcount $ hadoop fs -ls /nom.de.votre.dossier/wordcount $ hadoop jar WordCount-1.0-SNAPSHOT.jar WCount /nom.de.votre.dossier/wordcount/poeme.txt /nom.de.votre.dossier/resultat_wordcount  Télécharger l’archive du projet maven WordCount.zip (lien: https://goo.gl/Ff6csj) : Cette archive contient : o Le poème ayant servi d'exemple en cours dans le dossier data. o Le code d'exemple du cours (classes driver, map et reduce).  Décompresser l'archive  On va désormais packager le programme d'exemple au sein d'un fichier .jar. Créer l'arborescence liée au nom du package avec la commande: (Attention : cette commande ne pourra fonctionner que si vous la lancez depuis le même dossier contenant le fichier pom.xml: $ cd WordCount/WordCount )  En préparation de l'exécution du programme Hadoop, nous allons en premier temps créer dans le disque HDFS un dossier pour ce TP. Vous allez travailler dans la suite du TP dans un dossier nom.de.votre.dossier (à fixer) sur la racine du disque HDFS (Attention : le dossier nom.de.votre.dossier n’existe pas). On va créer dedans un dossier wordcount en exécutant la commande suivante :  Maintenant il faut déplacer le texte du poème du dossier data sur le disque HDFS dans le dossier créé. Exécuter la commande :  et vérifier sa présence avec la commande : ou directement via l’interface Web (Hue - Hadoop User Experience) http://quickstart.cloudera:8888/filebrowser/view/user/cloudera#/  Enfin, exécuter votre programme Hadoop avec la commande ci-dessous sur la même ligne : (Attention : le jar créé est dans le dossier target: $ cd target) $ hadoop fs -ls /nom.de.votre.dossier/resultat_wordcount $ hadoop fs -cat /nom.de.votre.dossier/resultat_wordcount/part-r-00000 La commande devrait prendre tout au plus quelques secondes à s'exécuter. Si tout s'est passé correctement, un message «mapreduce.Job: map 100% reduce 100%» devrait s'afficher.  Vérifier la présence des fichiers de résultats dans le répertoire /resultat_wordcount avec la commande: ou directement via Hue (un fichier _SUCCESS devrait être présent, ainsi qu'un fichier part-r-00000).  Enfin, afficher les résultats finaux avec la commande: ou directement via Hue Le mot « qui » devrait être le plus présent au sein du poème avec 25 occurrence (Fig2). Figure 2. Résultat uploads/Industriel/ tp1-bigdata-mapreduce-171031163107.pdf

  • 49
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager