SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
Mme Ines Slimene
Ines_slimene@yahoo.fr
https://inesslimene.wixsite.com/moncours Mapreduce 2
 MapReduce1
 Fonctionnement
 Exemple
 Composants de MapReduce
 Limites de MPR1
 Nouveautés Hadoop2
 Yarn
 Gestion des ressources
Plan
https://inesslimene.wixsite.com/moncours Mapreduce 3
 Patron d’architecture de développement
 Permet de traiter des données volumineuses de manière parallèle et
distribuée
 Les langages utilisés : Java, Python ou Ruby
 Au lieu de parcourir le fichier séquentiellement (beaucoup de temps), il
est divisé en morceaux qui sont parcourus en parallèle.
Map-Reduce
https://inesslimene.wixsite.com/moncours Mapreduce 4
 Ce modèle se base sur 2 étapes :
 Mapping (map tasks) : le développeur définit une fonction de mappage
dont le but sera d'analyser les données brutes contenues dans les fichiers
stockés sur HDFS pour en sortir les données correctement formatées.
 Réduction (reduce tasks) : cette tâche récupère les données construites
dans l'étape du mappage et s'occupe de les analyser dans le but d'en
extraire les informations les plus importantes.
Map-Reduce
https://inesslimene.wixsite.com/moncours Mapreduce 5
 Les Mappers sont de petits programmes
qui commencent par traiter chacun une
petite partie des données
 Ils fonctionnent en parallèle
 Leurs sorties représentent les
enregistrements intermédiaires : sous
forme d’un couple (clef, valeur)
 Une étape de Mélange et Tri s’ensuit
 Mélange : Sélection des piles de fiches à
partir des Mappers
 Tri: Rangement des piles par ordre au
niveau de chaque Reducer
 Chaque Reducer traite un ensemble
d’enregistrements à la fois, pour générer
les résultats finaux
Map-Reduce: Fonctionnement
https://inesslimene.wixsite.com/moncours Mapreduce 6
 But : Calculer le nombre d’occurrences des mots constituant le texte.
 L’ensemble du processus est schématisé ci-dessous
Map-Reduce: Exemple
https://inesslimene.wixsite.com/moncours Mapreduce 7
 Deux processus JobTracker et TaskTracker
MapReduce
https://inesslimene.wixsite.com/moncours Mapreduce 8
 JobTracker
 Planifie les taches,
 Affecte les tâches aux TaskTrackers.
 Gère les jobs MapReduce et surveille les progrès réalisés
 Récupère les erreurs, et redémarre les tâches lentes et les taches qui
ont échoué
 TaskTracker
 Notifie périodiquement le JobTracker du niveau de progression
d’une tâche ou bien le notifie en cas d’erreur afin que celui-ci
puisse reprogrammer et assigner une nouvelle tâche.
 S’exécute sur chacun des nœuds pour exécuter les vraies tâches de
MapeReduce
 Choisit en général de traiter (Map ou Reduce) un bloc sur la même
machine que lui
MapReduce
https://inesslimene.wixsite.com/moncours Mapreduce 9
 MapReduce a un modèle de gestion de mémoire inflexible basé sur
les slot.
 Chaque TaskTracker est configuré au démarrage pour avoir un
nombre bien déterminé de slots (map slot, reduce slot) pour
l’exécution des tâches
 Une tache est exécutée dans un seul slot
 Les slots sont configurés au démarrage pour avoir un maximum
d’espace mémoire
Gestion des ressources
https://inesslimene.wixsite.com/moncours Mapreduce 10
 Scalabilité limitée : Le JobTracker s’exécute sur une seule machine.
Ses rôles sont :
 Gestion des ressources
 Ordonnancement et suivi des Job
 Problème de disponibilité : Le JobTracker est un SPOF. S’il est
endommagé, tous les jobs doivent être redémarrés
 Problème d’utilisation des ressources : Il y a un nombre prédéfini de
map slots et reduce slots pour chaque TaskTrackers.
 Utilisation des applications non-MapReduce : Le JobTracker est
intégré à MapReduce et ne supporte que les applications utilisant le
framework de programmation MapReduce
Limites de MPR1
https://inesslimene.wixsite.com/moncours Mapreduce 11
 YARN – Possibilité de traitement de Terabytes et Petabytes de données
existants dans HDFS en utilisant des application Non-MapReduce
 Resource Manager – Séparation des deux fonctionnalités essentielles
du jobtracker (gestion des ressources et ordonnancement et suivi des
jobs) en deux composants séparés :
 Gestionnaire de Resource
 Gestionnaire d’application
Jobtracker et Tascktracker
n’existent plus.
Nouveautés Hadoop 2
https://inesslimene.wixsite.com/moncours Mapreduce 12
 YARN sépare la gestion des ressources/ordonnancement des job du
traitement des données. Permettant a Hadoop de supporter d’autre
applications de traitement de données.
 Par exemple, Hadoop peut maintenant exécuter des requêtes
interactives et des flot de données simultanément avec des jobs
mapreduce.
YARN
https://inesslimene.wixsite.com/moncours Mapreduce 13
 La nouvelle génération du framework MapReduce est une application
qui s’exécute avec Yarn.
 Le nouveau framework MRv2 divise les deux fonctions majeurs du
JobTracker, en gestion des ressources et ordonnancement/suivi des jobs
avec des composants séparés.
Gestion des ressources
https://inesslimene.wixsite.com/moncours Mapreduce 14
 Resource Manager (RM)
 Tourne sur le nœud master
 Ordonnanceur de ressources global
 Permet l’arbitrage des ressources entre plusieurs applications
 Node Manager (NM)
 S’exécute sur les nœuds esclaves
 Communique avec RM
 Containers
 Créés par RM à la demande
 Se voit allouer des ressources sur le nœud esclave
 Application Master (AM)
 Un seul par application
 S’exécute sur un container
 Demande plusieurs containers pour exécuter les tâches de l’application
Gestion des ressources
https://inesslimene.wixsite.com/moncours Mapreduce 15
Exécution d’un job
Data.txt
blk1
blk2
$ hadoop jar app.jar data.txt output
MR application
master
Demande ressources:
DN1 / 1GB / 1 core
DN2 / 1GB / 1 core
Affectation
containers
Tache map
Tache map
Tache
reduce
Tache
reduce
https://inesslimene.wixsite.com/moncours Mapreduce 16
 Task (Container) : L’application Master essaye de re-exécuter la tache.
Si au bout de 4 tentatives aucune réponse, la tache est considérée
comme failed.
 Application Master : si AM n’envois plus de heartbeat, RM essayera de
re-exécuter la totalité de l’application (2tentatives)
Si la valeur de l’option Job recovery du AppMaster est false, toutes les
taches seront re-exécutées. Sinon, l’AppMaster reprend l’état des taches
lors du démarrage et re-exécute les taches incomplètes
 NodeManager : si les NM n’envoient plus de heartbeats au RM, il sera
supprimé de la liste des nœuds. Les taches seront considérées comme
failed par l’AppMaster.
 ResourceManager : aucune application ni tache ne peut être exécutée si
le RM est non fonctionnel. (possibilité d’avoir un Resource Manager
active et un Resource Manager (standby)
Fault Tolerance

Mais conteúdo relacionado

Semelhante a Mapreduce

Introduction à Rmpi
Introduction à RmpiIntroduction à Rmpi
Introduction à Rmpi
parisraddicts
 

Semelhante a Mapreduce (20)

10 big data hadoop
10 big data hadoop10 big data hadoop
10 big data hadoop
 
10 big data hadoop
10 big data hadoop10 big data hadoop
10 big data hadoop
 
Spark
SparkSpark
Spark
 
Chapitre 3 spark
Chapitre 3 sparkChapitre 3 spark
Chapitre 3 spark
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
Parallélisation d'algorithmes de graphes avec MapReduce sur un cluster d'ordi...
Parallélisation d'algorithmes de graphes avec MapReduce sur un cluster d'ordi...Parallélisation d'algorithmes de graphes avec MapReduce sur un cluster d'ordi...
Parallélisation d'algorithmes de graphes avec MapReduce sur un cluster d'ordi...
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Presentation des outils traitements distribues
Presentation des outils traitements distribuesPresentation des outils traitements distribues
Presentation des outils traitements distribues
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
Cours s epart2
Cours s epart2Cours s epart2
Cours s epart2
 
Paris RailsCamp 2009
Paris RailsCamp 2009Paris RailsCamp 2009
Paris RailsCamp 2009
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Spark docker
Spark dockerSpark docker
Spark docker
 
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )
 
Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
 
Introduction à Rmpi
Introduction à RmpiIntroduction à Rmpi
Introduction à Rmpi
 
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Casablanca Hadoop & Big Data Meetup - Introduction à HadoopCasablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
 
Paris ember js lab #6 - Taking over server-side rendering websites
Paris ember js lab #6 - Taking over server-side rendering websitesParis ember js lab #6 - Taking over server-side rendering websites
Paris ember js lab #6 - Taking over server-side rendering websites
 
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
 

Mais de Ines Slimene (14)

Redis
RedisRedis
Redis
 
Crud
CrudCrud
Crud
 
Cassandra
CassandraCassandra
Cassandra
 
Agregation
AgregationAgregation
Agregation
 
Pig
PigPig
Pig
 
Neo4j
Neo4jNeo4j
Neo4j
 
Introduction nosql
Introduction nosqlIntroduction nosql
Introduction nosql
 
Introduction
IntroductionIntroduction
Introduction
 
Intro mongodb
Intro mongodbIntro mongodb
Intro mongodb
 
Hive
HiveHive
Hive
 
Hdfs
HdfsHdfs
Hdfs
 
Hbase
HbaseHbase
Hbase
 
Hadoop
HadoopHadoop
Hadoop
 
Indexation
IndexationIndexation
Indexation
 

Último

Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 

Último (16)

Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcours
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
python-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdfpython-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdf
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 

Mapreduce

  • 2. https://inesslimene.wixsite.com/moncours Mapreduce 2  MapReduce1  Fonctionnement  Exemple  Composants de MapReduce  Limites de MPR1  Nouveautés Hadoop2  Yarn  Gestion des ressources Plan
  • 3. https://inesslimene.wixsite.com/moncours Mapreduce 3  Patron d’architecture de développement  Permet de traiter des données volumineuses de manière parallèle et distribuée  Les langages utilisés : Java, Python ou Ruby  Au lieu de parcourir le fichier séquentiellement (beaucoup de temps), il est divisé en morceaux qui sont parcourus en parallèle. Map-Reduce
  • 4. https://inesslimene.wixsite.com/moncours Mapreduce 4  Ce modèle se base sur 2 étapes :  Mapping (map tasks) : le développeur définit une fonction de mappage dont le but sera d'analyser les données brutes contenues dans les fichiers stockés sur HDFS pour en sortir les données correctement formatées.  Réduction (reduce tasks) : cette tâche récupère les données construites dans l'étape du mappage et s'occupe de les analyser dans le but d'en extraire les informations les plus importantes. Map-Reduce
  • 5. https://inesslimene.wixsite.com/moncours Mapreduce 5  Les Mappers sont de petits programmes qui commencent par traiter chacun une petite partie des données  Ils fonctionnent en parallèle  Leurs sorties représentent les enregistrements intermédiaires : sous forme d’un couple (clef, valeur)  Une étape de Mélange et Tri s’ensuit  Mélange : Sélection des piles de fiches à partir des Mappers  Tri: Rangement des piles par ordre au niveau de chaque Reducer  Chaque Reducer traite un ensemble d’enregistrements à la fois, pour générer les résultats finaux Map-Reduce: Fonctionnement
  • 6. https://inesslimene.wixsite.com/moncours Mapreduce 6  But : Calculer le nombre d’occurrences des mots constituant le texte.  L’ensemble du processus est schématisé ci-dessous Map-Reduce: Exemple
  • 7. https://inesslimene.wixsite.com/moncours Mapreduce 7  Deux processus JobTracker et TaskTracker MapReduce
  • 8. https://inesslimene.wixsite.com/moncours Mapreduce 8  JobTracker  Planifie les taches,  Affecte les tâches aux TaskTrackers.  Gère les jobs MapReduce et surveille les progrès réalisés  Récupère les erreurs, et redémarre les tâches lentes et les taches qui ont échoué  TaskTracker  Notifie périodiquement le JobTracker du niveau de progression d’une tâche ou bien le notifie en cas d’erreur afin que celui-ci puisse reprogrammer et assigner une nouvelle tâche.  S’exécute sur chacun des nœuds pour exécuter les vraies tâches de MapeReduce  Choisit en général de traiter (Map ou Reduce) un bloc sur la même machine que lui MapReduce
  • 9. https://inesslimene.wixsite.com/moncours Mapreduce 9  MapReduce a un modèle de gestion de mémoire inflexible basé sur les slot.  Chaque TaskTracker est configuré au démarrage pour avoir un nombre bien déterminé de slots (map slot, reduce slot) pour l’exécution des tâches  Une tache est exécutée dans un seul slot  Les slots sont configurés au démarrage pour avoir un maximum d’espace mémoire Gestion des ressources
  • 10. https://inesslimene.wixsite.com/moncours Mapreduce 10  Scalabilité limitée : Le JobTracker s’exécute sur une seule machine. Ses rôles sont :  Gestion des ressources  Ordonnancement et suivi des Job  Problème de disponibilité : Le JobTracker est un SPOF. S’il est endommagé, tous les jobs doivent être redémarrés  Problème d’utilisation des ressources : Il y a un nombre prédéfini de map slots et reduce slots pour chaque TaskTrackers.  Utilisation des applications non-MapReduce : Le JobTracker est intégré à MapReduce et ne supporte que les applications utilisant le framework de programmation MapReduce Limites de MPR1
  • 11. https://inesslimene.wixsite.com/moncours Mapreduce 11  YARN – Possibilité de traitement de Terabytes et Petabytes de données existants dans HDFS en utilisant des application Non-MapReduce  Resource Manager – Séparation des deux fonctionnalités essentielles du jobtracker (gestion des ressources et ordonnancement et suivi des jobs) en deux composants séparés :  Gestionnaire de Resource  Gestionnaire d’application Jobtracker et Tascktracker n’existent plus. Nouveautés Hadoop 2
  • 12. https://inesslimene.wixsite.com/moncours Mapreduce 12  YARN sépare la gestion des ressources/ordonnancement des job du traitement des données. Permettant a Hadoop de supporter d’autre applications de traitement de données.  Par exemple, Hadoop peut maintenant exécuter des requêtes interactives et des flot de données simultanément avec des jobs mapreduce. YARN
  • 13. https://inesslimene.wixsite.com/moncours Mapreduce 13  La nouvelle génération du framework MapReduce est une application qui s’exécute avec Yarn.  Le nouveau framework MRv2 divise les deux fonctions majeurs du JobTracker, en gestion des ressources et ordonnancement/suivi des jobs avec des composants séparés. Gestion des ressources
  • 14. https://inesslimene.wixsite.com/moncours Mapreduce 14  Resource Manager (RM)  Tourne sur le nœud master  Ordonnanceur de ressources global  Permet l’arbitrage des ressources entre plusieurs applications  Node Manager (NM)  S’exécute sur les nœuds esclaves  Communique avec RM  Containers  Créés par RM à la demande  Se voit allouer des ressources sur le nœud esclave  Application Master (AM)  Un seul par application  S’exécute sur un container  Demande plusieurs containers pour exécuter les tâches de l’application Gestion des ressources
  • 15. https://inesslimene.wixsite.com/moncours Mapreduce 15 Exécution d’un job Data.txt blk1 blk2 $ hadoop jar app.jar data.txt output MR application master Demande ressources: DN1 / 1GB / 1 core DN2 / 1GB / 1 core Affectation containers Tache map Tache map Tache reduce Tache reduce
  • 16. https://inesslimene.wixsite.com/moncours Mapreduce 16  Task (Container) : L’application Master essaye de re-exécuter la tache. Si au bout de 4 tentatives aucune réponse, la tache est considérée comme failed.  Application Master : si AM n’envois plus de heartbeat, RM essayera de re-exécuter la totalité de l’application (2tentatives) Si la valeur de l’option Job recovery du AppMaster est false, toutes les taches seront re-exécutées. Sinon, l’AppMaster reprend l’état des taches lors du démarrage et re-exécute les taches incomplètes  NodeManager : si les NM n’envoient plus de heartbeats au RM, il sera supprimé de la liste des nœuds. Les taches seront considérées comme failed par l’AppMaster.  ResourceManager : aucune application ni tache ne peut être exécutée si le RM est non fonctionnel. (possibilité d’avoir un Resource Manager active et un Resource Manager (standby) Fault Tolerance