Aller au contenu

TP : Hadoop map-reduce en environnement de production

Auteurs


🎯 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

  • 1⃣ Wordcount en local : 30 min
  • 2⃣ Mise en place du cluster Docker : 15 min (la première fois)
  • 3⃣ 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 :