Vous êtes sur la page 1sur 6

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:

Vous aimerez peut-être aussi