TP : Hadoop map-reduce en environnement de production
Auteurs
- Stéphane Derrode & Lamia Derrode, Centrale Lyon, Dpt Mathématiques & Informatique.
Objectifs d’apprentissage¶
À l’issue de ce TP, vous saurez :
- exécuter un algorithme map-reduce écrit en Python en local (sans Hadoop) pour comprendre la logique algorithmique ;
- préparer et lancer le mini-cluster Hadoop à 3 nœuds dans un conteneur Docker ;
- déposer un fichier sur HDFS, lancer un job Hadoop Streaming, en récupérer le résultat ;
- naviguer dans les UIs web du NameNode et du ResourceManager YARN pour observer l’état du cluster et l’avancement d’un job ;
- (exercice) implémenter un algorithme map-reduce pour la multiplication de matrices.
Pré-requis¶
- Cours sur Hadoop et HDFS.
- Notions de base d’un terminal Linux (
cd,ls,mkdir,cat…). - Python 3 installé sur la machine pour la première partie en local.
- Docker Desktop installé pour la suite (cf. page d’installation du cluster).
Durée indicative¶
Wordcount en local : 30 min
Mise en place du cluster Docker : 15 min (la première fois)
Wordcount sur Hadoop : 45 min
Exercice multiplication de matrices : 60 min
Livrable¶
À convenir avec votre enseignant. Typiquement : les scripts wc_mapper_improved.py, wc_reducer_improved.py (partie 1), et les scripts multmat_mapper.py et multmat_reducer.py ainsi qu’un court CR (texte ou Markdown) expliquant la logique de votre algorithme de multiplication.
Étapes du TP¶
Wordcount, en local¶
La première étape consiste à rapatrier des fichiers qui nous seront utiles :
Wordcount sur le cluster Hadoop¶
Voici ensuite les consignes pour mettre en route le cluster Hadoop dans Docker :
Suivez enfin les consignes pour lancer l’algorithme map-reduce de comptage de mots en tant que job Hadoop :
Pour aller plus loin¶
Pour ceux qui ont le temps, un exercice de multiplication de matrices :