Compte Rendu TP 1 Big Data [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Ministère de l’éducation supérieure Université de Carthage ***** Institut National des sciences appliquées et de technologie

Compte rendu du TP 1 en Big Data Filière: Réseaux et Télécommunications Niveau: 4éme année

Réalisé par: Belkacem Mohamed Ghaith

Année universitaire: 2020/2021

Objectifs du TP: Se familiariser avec le framework hadoop et patron d'architecture MapReduce, et puis d’utiliser docker afin de lancer un cluster hadoop composé 3 nœuds et tester la wordcount application en utilisant un fichier input. Etapes pour préparer l’environnement: 1. Télécharger l'image docker uploadée sur dockerhub docker pull liliasfaxi/spark-hadoop:hv-2.7.2

2. Créer les trois contenaires à partir de l'image téléchargée. 2.1. Créer un réseau qui permettra de relier les trois contenaires docker network create --driver=bridge hadoop

2.2. Créer et lancer les trois contenaires docker run -itd --net=hadoop -p 50070:50070 -p 8088:8088 -p 7077:7077 -p 16010:16010 \ --name hadoop-master --hostname hadoop-master \ liliasfaxi/spark-hadoop:hv-2.7.2 docker run -itd -p 8040:8042 --net=hadoop \ --name hadoop-slave1 --hostname hadoop-slave1 \ liliasfaxi/spark-hadoop:hv-2.7.2 docker run -itd -p 8041:8042 --net=hadoop \ --name hadoop-slave2 --hostname hadoop-slave2 \ liliasfaxi/spark-hadoop:hv-2.7.2

3. Entrer dans le contenaire master pour commencer à l'utiliser. docker exec -it hadoop-master bash

La première chose à faire, une fois dans le contenaire, est de lancer hadoop ./start-hadoop.sh

4. Créer un répertoire dans HDFS, appelé input. hadoop fs –mkdir -p input

5. Charger le fichier purchases dans le répertoire input créé: hadoop fs –put purchases.txt input

6. Pour afficher les dernières lignes du fichier purchases: hadoop fs -tail input/purchases.txt

Map Reduce Etapes:

1. Créer un projet Maven dans IntelliJ IDEA 2. Ouvrir le fichier pom.xml, et ajouter les dépendances pour Hadoop, HDFS et Map Reduce 3. Créer un package tn.insat.tp1 sous le répertoire src/main/java 4. Créer la classe TokenizerMapper 5. Créer la classe IntSumReducer 6. Créer la classe WordCount 7. Tester Map Reduce en local 7.1. Créer un répertoire input sous le répertoire resources du projet. 7.2. Créer un fichier de test: file.txt dans lequel on insère les deux lignes: Hello Wordcount! Hello Hadoop!

8. Créer une configuration de type Application 9. Définir comme Main Class: tn.insat.tp1.WordCount, et comme Program Arguments: src/main/resources/input/file.txt src/main/resources/output

Après avoir suivi l’énoncé du TP 1, voici le resultat d’execution du programme qui est trouvé dans le fichier part-r-00000 sous le dossier output:

Lancer Map Reduce sur le cluster Steps:

1. Créer une configuration Maven avec la ligne de commande: package install 2. Lancer la configuration. Un fichier wordcount-1.jar sera créé dans le répertoire target du projet. 3. Copier le fichier jar créé dans le contenaire master avec la commande: docker cp target/wordcount-1.jar hadoop-master:/root/wordcount-1.jar

4. Revenir au shell du contenaire master, et lancer le job map reduce avec cette commande: hadoop jar wordcount-1.jar tn.insat.tp1.WordCount input output7

En affichant les dernières lignes du fichier généré output7/part-r-00000, avec hadoop fs -tail output7/part-r-00000, on obtient l'affichage suivant: