Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TP1 Big Data - MapReduce

1,794 views

Published on

TP1 Big Data - MapReduce

Manipulation de l'exemple "Word Count" sur une VM apache Hadoop puis sur une VM Cloudera.

GI3 - ENIS

Published in: Data & Analytics
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • For AWS Certification Course Coupons and Discounts Visit http://www.todaycourses.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

TP1 Big Data - MapReduce

  1. 1. 1 ENIS – GI 3 – 2017/2018 Mme. Amal ABID 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 : $ start-dfs.sh $ start-yarn.sh 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 3336 NodeManager 3212 ResourceManager 3651 NameNode 2863 DataNode 3052 SecondaryNameNode 4. Vérifier que l'environnement de compilation est fonctionnel. (Vérifier que Java est bien installé sur votre machine « java –version »).
  2. 2. 2 ENIS – GI 3 – 2017/2018 Mme. Amal ABID 5. Exécuter la commande suivante (sur la même ligne) : $ wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=0B4fI_1marvB ZZFYwVm5aYmZ1LUU' -O td1_bigdata_enis.zip 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 : $ unzip td1_bigdata_enis.zip 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 : $ cd td1_bigdata_enis 2. Compiler le programme Hadoop (le tout sur la même ligne) : $ 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 La compilation a généré trois fichiers .class: un pour chacune de nos classes (driver, map et reduce).
  3. 3. 3 ENIS – GI 3 – 2017/2018 Mme. Amal ABID 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 : $ mkdir -p enis/hadoop/wordcount Et déplacer, par la suite, les fichiers compilés au sein de cette arborescence : $ mv *.class enis/hadoop/wordcount 4. Générer le .jar : $ jar -cvf enis_wcount.jar -C . enis 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 : $ hadoop fs -put poeme.txt / et vérifier sa présence avec la commande : $ hadoop fs -ls / 6. Enfin, exécuter notre programme Hadoop avec la commande : $ hadoop jar enis_wcount.jar enis.hadoop.wordcount.WCount /poeme.txt /results 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 : $ hadoop fs -ls /results (un fichier _SUCCESS devrait être présent, ainsi qu'un fichier part-r-00000). 8. Enfin, afficher les résultats finaux avec la commande : $ hadoop fs -cat /results/part-r-00000
  4. 4. 4 ENIS – GI 3 – 2017/2018 Mme. Amal ABID 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
  5. 5. 5 ENIS – GI 3 – 2017/2018 Mme. Amal ABID 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 $ setxkbmap fr  Vérifier le bon fonctionnement de Hadoop en exécutant la commande: $ hdfs dfsadmin -report La commande vérifie le statut de HDFS. Elle devrait afficher: Live datanodes (1) :  Vérifier la version d’Hadoop en exécutant la commande: $ hadoop version  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.
  6. 6. 6 ENIS – GI 3 – 2017/2018 Mme. Amal ABID  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 ) $ mvn clean package  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 : $ hadoop fs -mkdir -p /nom.de.votre.dossier/wordcount  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 : $ hadoop fs -put data/poeme.txt /nom.de.votre.dossier/wordcount  et vérifier sa présence avec la commande : $ hadoop fs -ls /nom.de.votre.dossier/wordcount 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 jar WordCount-1.0-SNAPSHOT.jar WCount /nom.de.votre.dossier/wordcount/poeme.txt /nom.de.votre.dossier/resultat_wordcount
  7. 7. 7 ENIS – GI 3 – 2017/2018 Mme. Amal ABID 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: $ hadoop fs -ls /nom.de.votre.dossier/resultat_wordcount 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: $ hadoop fs -cat /nom.de.votre.dossier/resultat_wordcount/part-r-00000 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

×