SlideShare une entreprise Scribd logo

Chapitre 2 hadoop

Cours Big Data Chapitre 2 Hadoop par Mouna Torjmen Khemakhem, ENIS 2017-2018

Chapitre 2 hadoop

1  sur  39
Big Data
Mouna TORJMEN KHEMAKHEM
Ecole Nationale d’Ingénieurs de Sfax (ENIS)
2017-2018
Chapitre 2
Hadoop
Mouna TORJMEN KHEMAKHEM
Plan du chapitre
Présentation et Historique de Hadoop
HDFS
MAP-REDUCE
Architecture Hadoop
YARNYARN
Hadoop2
Mouna TORJMEN KHEMAKHEM
Projet open source d’Apache: http://hadoop.apache.org/
Système de fichiers distribué et scalable (HDFS)
Traitement distribué sur plusieurs nœuds
Ecrit en Java, portable
Conçu par Doug Cutting en 2004
Hadoop: Présentation (1/2)
Conçu par Doug Cutting en 2004
4444
Mouna TORJMEN KHEMAKHEM
Utilisation simple pour les développeurs:
développer seulement des tâches Map-Reduce
utilisation des interfaces simples à travers des librairies
langages multiples (Java, Python, C/C++...).
Hadoop: Présentation (2/2)
S‘occupe de toutes les problématiques liées au calcul distribué:
accès et partage des données
tolérance aux pannes
répartition des tâches aux différents nœuds du cluster
le développeur s’occupe seulement de la tâche Map-
Reduce.
5555
Mouna TORJMEN KHEMAKHEM
Hadoop : Historique (1/2)
2002: Doug Cutting (directeur archive.org) et Mike Cafarella
(étudiant) développent Nutch, un moteur de recherche Open Source
exploitant le calcul distribué.
L'implémentation peut tourner seulement sur quelques machines et a
plusieurs problèmes liés à l'accés et le partage de fichiers.
2003/2004: le département de recherche de Google publie deux2003/2004: le département de recherche de Google publie deux
whitepapers: (1) sur GFS (un système de fichier distribué) et (2) sur
le paradigme Map/Reduce pour le calcul distribué.
2004: Doug Cutting et Mike Cafarella développent un framework
inspiré des papiers de Google et portent leur projet Nutch sur ce
framework.
6666
Mouna TORJMEN KHEMAKHEM

Recommandé

Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2Amal Abid
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduceAmal Abid
 
Cours Big Data Chap3
Cours Big Data Chap3Cours Big Data Chap3
Cours Big Data Chap3Amal Abid
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkAmal Abid
 
Installation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidInstallation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidAmal Abid
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataLilia Sfaxi
 

Contenu connexe

Tendances (20)

Chapitre 3 spark
Chapitre 3 sparkChapitre 3 spark
Chapitre 3 spark
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
 
Les BD NoSQL
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
 
Hadoop
HadoopHadoop
Hadoop
 
Big data
Big dataBig data
Big data
 
Une Introduction à Hadoop
Une Introduction à HadoopUne Introduction à Hadoop
Une Introduction à Hadoop
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystème
 
Introduction au BIG DATA
Introduction au BIG DATAIntroduction au BIG DATA
Introduction au BIG DATA
 
Chapitre1 introduction
Chapitre1 introductionChapitre1 introduction
Chapitre1 introduction
 
Introduction au big data
Introduction au big dataIntroduction au big data
Introduction au big data
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
 
Hadoop
HadoopHadoop
Hadoop
 

Similaire à Chapitre 2 hadoop

Hadoop MapReduce.docx
Hadoop  MapReduce.docxHadoop  MapReduce.docx
Hadoop MapReduce.docxIssamHamdi
 
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 )Hamza Ben Marzouk
 
10 big data hadoop
10 big data hadoop10 big data hadoop
10 big data hadoopPatrick Bury
 
10 big data hadoop
10 big data hadoop10 big data hadoop
10 big data hadoopPatrick Bury
 
Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in ParisTed Drake
 
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 à HadoopBenoît de CHATEAUVIEUX
 
Présentation_HADOOP.pptx
Présentation_HADOOP.pptxPrésentation_HADOOP.pptx
Présentation_HADOOP.pptxbely26
 
Aqui hadoop draft
Aqui hadoop draftAqui hadoop draft
Aqui hadoop draftEric Papet
 
ch2-hadoop-L3-2023-4p (1).pdf
ch2-hadoop-L3-2023-4p (1).pdfch2-hadoop-L3-2023-4p (1).pdf
ch2-hadoop-L3-2023-4p (1).pdfsalmanakbi
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introductionfredcons
 
PerfUG - Hadoop Performances
PerfUG - Hadoop PerformancesPerfUG - Hadoop Performances
PerfUG - Hadoop PerformancesSofian Djamaa
 
Plongée dans la plateforme hadoop
Plongée dans la plateforme hadoopPlongée dans la plateforme hadoop
Plongée dans la plateforme hadooppkernevez
 
HDFS HA : Stockage à haute disponibilité par Damien Hardy
HDFS HA : Stockage à haute disponibilité par Damien HardyHDFS HA : Stockage à haute disponibilité par Damien Hardy
HDFS HA : Stockage à haute disponibilité par Damien HardyOlivier DASINI
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataArrow Group
 
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel ArkéaMathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel ArkéaModern Data Stack France
 
Hadoop MapReduce - OSDC FR 2009
Hadoop MapReduce - OSDC FR 2009Hadoop MapReduce - OSDC FR 2009
Hadoop MapReduce - OSDC FR 2009Olivier Grisel
 

Similaire à Chapitre 2 hadoop (20)

Hadoop MapReduce.docx
Hadoop  MapReduce.docxHadoop  MapReduce.docx
Hadoop MapReduce.docx
 
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 )
 
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
 
Hadoop
HadoopHadoop
Hadoop
 
Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in Paris
 
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
 
Présentation_HADOOP.pptx
Présentation_HADOOP.pptxPrésentation_HADOOP.pptx
Présentation_HADOOP.pptx
 
Hdfs
HdfsHdfs
Hdfs
 
Aqui hadoop draft
Aqui hadoop draftAqui hadoop draft
Aqui hadoop draft
 
ch2-hadoop-L3-2023-4p (1).pdf
ch2-hadoop-L3-2023-4p (1).pdfch2-hadoop-L3-2023-4p (1).pdf
ch2-hadoop-L3-2023-4p (1).pdf
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introduction
 
Hadoop
HadoopHadoop
Hadoop
 
PerfUG - Hadoop Performances
PerfUG - Hadoop PerformancesPerfUG - Hadoop Performances
PerfUG - Hadoop Performances
 
Plongée dans la plateforme hadoop
Plongée dans la plateforme hadoopPlongée dans la plateforme hadoop
Plongée dans la plateforme hadoop
 
HDFS HA : Stockage à haute disponibilité par Damien Hardy
HDFS HA : Stockage à haute disponibilité par Damien HardyHDFS HA : Stockage à haute disponibilité par Damien Hardy
HDFS HA : Stockage à haute disponibilité par Damien Hardy
 
Tech day hadoop, Spark
Tech day hadoop, SparkTech day hadoop, Spark
Tech day hadoop, Spark
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big Data
 
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel ArkéaMathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
 
Hadoop MapReduce - OSDC FR 2009
Hadoop MapReduce - OSDC FR 2009Hadoop MapReduce - OSDC FR 2009
Hadoop MapReduce - OSDC FR 2009
 

Plus de Mouna Torjmen

POO Java Introduction
POO Java IntroductionPOO Java Introduction
POO Java IntroductionMouna Torjmen
 
POO Java Chapitre 6 Exceptions
POO Java  Chapitre 6 ExceptionsPOO Java  Chapitre 6 Exceptions
POO Java Chapitre 6 ExceptionsMouna Torjmen
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismeMouna Torjmen
 
POO Java Chapitre 3 Collections
POO Java Chapitre 3 CollectionsPOO Java Chapitre 3 Collections
POO Java Chapitre 3 CollectionsMouna Torjmen
 
POO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 EncapsulationPOO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 EncapsulationMouna Torjmen
 
POO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & ObjetPOO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & ObjetMouna Torjmen
 
Apprentissage Par Projet APP
Apprentissage Par Projet APPApprentissage Par Projet APP
Apprentissage Par Projet APPMouna Torjmen
 

Plus de Mouna Torjmen (9)

POO Java Introduction
POO Java IntroductionPOO Java Introduction
POO Java Introduction
 
POO Java Chapitre 6 Exceptions
POO Java  Chapitre 6 ExceptionsPOO Java  Chapitre 6 Exceptions
POO Java Chapitre 6 Exceptions
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
 
POO Java Chapitre 3 Collections
POO Java Chapitre 3 CollectionsPOO Java Chapitre 3 Collections
POO Java Chapitre 3 Collections
 
POO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 EncapsulationPOO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 Encapsulation
 
POO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & ObjetPOO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & Objet
 
TIC & E-Learning
TIC & E-LearningTIC & E-Learning
TIC & E-Learning
 
Apprentissage Par Projet APP
Apprentissage Par Projet APPApprentissage Par Projet APP
Apprentissage Par Projet APP
 
Chapitre 4 no sql
Chapitre 4 no sqlChapitre 4 no sql
Chapitre 4 no sql
 

Chapitre 2 hadoop

  • 1. Big Data Mouna TORJMEN KHEMAKHEM Ecole Nationale d’Ingénieurs de Sfax (ENIS) 2017-2018
  • 3. Plan du chapitre Présentation et Historique de Hadoop HDFS MAP-REDUCE Architecture Hadoop YARNYARN Hadoop2 Mouna TORJMEN KHEMAKHEM
  • 4. Projet open source d’Apache: http://hadoop.apache.org/ Système de fichiers distribué et scalable (HDFS) Traitement distribué sur plusieurs nœuds Ecrit en Java, portable Conçu par Doug Cutting en 2004 Hadoop: Présentation (1/2) Conçu par Doug Cutting en 2004 4444 Mouna TORJMEN KHEMAKHEM
  • 5. Utilisation simple pour les développeurs: développer seulement des tâches Map-Reduce utilisation des interfaces simples à travers des librairies langages multiples (Java, Python, C/C++...). Hadoop: Présentation (2/2) S‘occupe de toutes les problématiques liées au calcul distribué: accès et partage des données tolérance aux pannes répartition des tâches aux différents nœuds du cluster le développeur s’occupe seulement de la tâche Map- Reduce. 5555 Mouna TORJMEN KHEMAKHEM
  • 6. Hadoop : Historique (1/2) 2002: Doug Cutting (directeur archive.org) et Mike Cafarella (étudiant) développent Nutch, un moteur de recherche Open Source exploitant le calcul distribué. L'implémentation peut tourner seulement sur quelques machines et a plusieurs problèmes liés à l'accés et le partage de fichiers. 2003/2004: le département de recherche de Google publie deux2003/2004: le département de recherche de Google publie deux whitepapers: (1) sur GFS (un système de fichier distribué) et (2) sur le paradigme Map/Reduce pour le calcul distribué. 2004: Doug Cutting et Mike Cafarella développent un framework inspiré des papiers de Google et portent leur projet Nutch sur ce framework. 6666 Mouna TORJMEN KHEMAKHEM
  • 7. Hadoop : Historique (2/2) 2006: Doug Cutting (de Yahoo) travaille sur une amélioration de l’indexation du moteur de recherche de Yahoo et créé une nouvelle version en tant que projet Open Source de la fondation Apache. Ce projet est appelé Hadoop : le nom d'un éléphant en peluche de son fils. Un cluster peut comporter de 5 à 20 machines. 2008: Hadoop est utilisé par le moteur de recherche de Yahoo et par d’autres départements de l'entreprise. 2011: Hadoop est utilisé par plusieurs entreprises et universités dans le monde Le cluster Yahoo comporte 42.000 machines.7777 Mouna TORJMEN KHEMAKHEM
  • 8. Hadoop est composé de deux grandes parties : Hadoop Distibuted File System – HDFS : destiné pour le stockage distribué des données Hadoop: Composants fondamentaux Distributed Programing Framework - MapReduce : destiné pour le traitement distribué des données. Stockage Traitement 8888 Mouna TORJMEN KHEMAKHEM
  • 9. • un système de fichiers distribué • inspiré de GFS • écrit en Java. • tolérant aux pannes • SGF du type Write Once Read Many (WORM) : on y HDFS (Hadoop Distributed File System) • SGF du type Write Once Read Many (WORM) : on y écrit une fois le fichier, puis on y accède plusieurs fois. • HDFS se base sur le principe de Maître/Esclave 9999 Mouna TORJMEN KHEMAKHEM
  • 10. FichierdiviséenblocsFichierdiviséenblocs Bloc 1Bloc 1 Bloc 2Bloc 2 DataNode 1DataNode 1 DataNode 2DataNode 2 DataNode 3DataNode 3 NameNodeNameNode Fonctionnement du HDFS Secondary NameNode Secondary NameNode FichierdiviséenblocsFichierdiviséenblocs Bloc 3Bloc 3 Bloc 2Bloc 2 Bloc 4Bloc 4 DataNode 1DataNode 1 DataNode 2DataNode 2 DataNode 3DataNode 3 HDFS HDFS HDFS Bloc 1Bloc 1 Bloc 2Bloc 2 Bloc 3Bloc 3 Bloc 4Bloc 4 Stockage et duplication de blocs en HDFS 10101010 Mouna TORJMEN KHEMAKHEM
  • 11. Taille de blocs: En système de fichier classique: 4 Ko en HDFS: 64 Mo: par défaut Fonctionnement du HDFS 64 Mo: par défaut Possibilité de configuration en : 128 Mo, 256 Mo, 512 Mo ou 1 Go. Réduire le temps d'accès à un bloc 11111111 Mouna TORJMEN KHEMAKHEM
  • 12. Taille de blocs: Fonctionnement du HDFS 12121212 Mouna TORJMEN KHEMAKHEM
  • 13. • Duplication En phase d'écriture, chaque bloc correspondant au fichier est répliqué sur des nœuds distincts du cluster. En phase de lecture, si un bloc est Fonctionnement du HDFS En phase de lecture, si un bloc est indisponible sur un nœud, des copies de ce bloc seront disponibles sur d'autres nœuds. L’utilisateur peut facilement configurer le nombre de réplication (par défaut 3). 13131313 Mouna TORJMEN KHEMAKHEM
  • 14. NameNode: nœud maître gère l'espace de noms, l'arborescence du système de fichiers et les métadonnées des fichiers et des répertoires. Il centralise la localisation des blocs de données répartis dans le cluster. Fonctionnement du HDFS le cluster. Il connait les DataNodes dans lesquels les blocs sont stockés Les différents types de métadonnées : liste des fichiers liste des blocs pour chaque fichier liste des DataNodes pour chaque bloc Attributs de fichiers, dernier accès, nombre de réplication. 14141414 Mouna TORJMEN KHEMAKHEM
  • 15. Secondary NameNode Le NameNode est un point unique de défaillance (Single Point of Failure): en cas de panne, perte des blocs d’un fichier donné. le NameNode secondaire vérifie périodiquement l’état du Fonctionnement du HDFS le NameNode secondaire vérifie périodiquement l’état du NameNode principal et fait une copie des métadonnées En cas de panne du NameNode principal, le NameNode secondaire la remplace. 15151515 Mouna TORJMEN KHEMAKHEM
  • 16. DataNode : nœud esclave enregistre (écriture) et récupère (lecture) les blocs de données. En lecture, les DateNodes transmettent au client les blocs correspondant au fichier grâce au NameNode. Fonctionnement du HDFS correspondant au fichier grâce au NameNode. En écriture, les DataNodes retournent l’emplacement des blocs créés au NameNode. Chaque DataNode envoie périodiquement au NameNode la liste des blocs de données qu'il contient. 16161616 Mouna TORJMEN KHEMAKHEM
  • 17. Écriture d'un fichier en HDFS 17171717 Mouna TORJMEN KHEMAKHEM
  • 18. Lecture d'un fichier en HDFS 18181818 Mouna TORJMEN KHEMAKHEM
  • 19. Créer un dossier dans HDFS : Commande : hadoop fs -mkdir Exemple : hadoop fs -mkdir /user/monDossier Lister le contenu d’un dossier dans HDFS: Commande : hadoop fs –ls Exemple : hadoop fs -ls /user/monDossier Charger un ou plusieurs fichiers du local à HDFS: Commande : hadoop fs -put Quelques commande en HDFS Commande : hadoop fs -put Exemple : hadoop fs -put /home/monFichier.txt /user/monDossier Exporter un ou plusieurs fichiers de HDFS au local: Commande: hadoop fs -get Exemple : hadoop fs -get /user/monDossier/monFichier.txt /home Supprimer un fichier dans HDFS: Commande : hadoop fs -rm Exemple : hadoop fs -rm /user/monFichier.txt D'autres commandes usuelles: -ls, -cp, -rmr, -du, etc... 19191919 Mouna TORJMEN KHEMAKHEM
  • 20. MapReduce MapReduce : un modèle de programmation dédié pour la lecture, le traitement et l’écriture de grandes volumes de données.volumes de données. garantit les fonctionnalités suivantes : Parallélisation automatique des programmes à exécuter Gestion transparente du mode distribué. Tolérance aux pannes. 20202020 Mouna TORJMEN KHEMAKHEM
  • 21. Basé sur deux fonctions : map() : applique une fonction donnée sur chaque éléments d’une liste et retourne une liste. MapReduce Exemple: (mapcar #’round ‘(1.3 2.7 3.4 4.5)) => (1 3 3 4) reduce(): applique une fonction donnée à tous les éléments d’une liste et retourne une liste unique. Exemple: (reduce #’+ ‘(1 2 3 4)) => 10 21212121 Mouna TORJMEN KHEMAKHEM
  • 22. •Le processus MapReduce est composé de 4 étapes: – Fragmenter (split) les données en entrée en n partitions. – Mapper chacun de ces partitions couples (clé , valeur). – Grouper (shuffle) ces couples (clé , valeur) par clé. – Réduire (reduce) les groupes indexés par clef à une unique MapReduce MounaTORJMEN KHEMAKHEM &Amal ABID – Réduire (reduce) les groupes indexés par clef à une unique paire (clé, valeur). 22222222 Mouna TORJMEN KHEMAKHEM
  • 23. •Résolution d’un problème avec MapReduce: ProgrammeurProgrammeur -Choix de la méthode de découpage des données -Définition de la clé à utiliser -Développement de l’opération MAP -Développement de l’opération REDUCE MapReduce HadoopHadoop -Développement de l’opération REDUCE -repartition de données -distribution de calcul -groupement par clé … 23232323 Mouna TORJMEN KHEMAKHEM
  • 24. • But: compter le nombre d’occurrences de chaque mot dans un fichier texte. • Données: un fichier texte sous la forme suivante: Celui qui croyait MapReduce-Exemple 1 • MAP/REDUCE: (clef, valeur)= (mot, 1) Celui qui croyait Ciel ciel croyait Celui ciel qui 24242424 Mouna TORJMEN KHEMAKHEM
  • 25. MapReduce-Exemple 1 MAP REDUCE POUR MOT dans LIGNE, FAIRE : GENERER COUPLE (MOT; 1) TOTAL=0 RENVOYERTOTAL TOTAL=0 POUR COUPLE dans GROUPE, FAIRE: TOTAL=TOTAL+1 RENVOYERTOTAL 25252525 Mouna TORJMEN KHEMAKHEM
  • 26. • But: compter le nombre de visiteurs sur chacune des pages d'un site Internet. • Données: des fichiers de logs sous la forme suivante: /index.html [19/Oct/2013:18:45:03 +0200] /contact.html [19/Oct/2013:18:46:15 +0200] MapReduce-Exemple 2 • MAP/REDUCE: (clef, valeur)= (URL, 1) /contact.html [19/Oct/2013:18:46:15 +0200] /news.php?id=5 [24/Oct/2013:18:13:02 +0200] /news.php?id=4 [24/Oct/2013:18:13:12 +0200] /news.php?id=18 [24/Oct/2013:18:14:31 +0200] ...etc... 26262626 Mouna TORJMEN KHEMAKHEM
  • 27. • But: calculer le total des ventes par magasin (ville) pour l’année courante • Données: des fichiers sous la forme (jour ville produit prix): 01-01-2017 Sfax meuble 200 01-01-2017Tunis vetement 50 02-01-2017 Sfax jouet 20 MapReduce-Exemple 3 • MAP/REDUCE: (clef, valeur)= (magasin, prix) 02-01-2017 Sfax jouet 20 02-01-2017 Sousse vetement 80 02-01-2017Tunis jouet 50 27272727 Mouna TORJMEN KHEMAKHEM
  • 28. Architecture de Hadoop •Hadoop est basé sur deux serveurs (des daemons): – Le JobTracker: • Coordinateur des taches MapReduce sur le cluster : distribution des opérations Map ou Reduce au TaskTracker. • En communication avec le NameNode Un seul JobTracker par cluster point unique de défaillance (Single Point of Failure).of Failure). – Le TaskTracker: • Exécute les taches (Map ou Reduce) • Envoie des notification au JobTracker (erreur, …) • Communique avec un DataNode Un TaskTracker sur chaque machine esclave du cluster. 28282828 Mouna TORJMEN KHEMAKHEM
  • 29. Chaque TaskTracker signale son statut continuellement par le biais de « heartbeat ». En cas de défaillance d'un TaskTracker Architecture de Hadoop En cas de défaillance d'un TaskTracker (heartbeat manquant / tâche échouée), le JobTracker redistribue la tâche à un autre nœud. 29292929 Mouna TORJMEN KHEMAKHEM
  • 30. JobTrackerJobTracker Architecture de Hadoop Name NodeName Node Couche MapReduce Couche HDFS Task Tracker Task Tracker Data NodeData Node Task Tracker Task Tracker Data NodeData Node Couche MapReduce Couche HDFS 30303030 Mouna TORJMEN KHEMAKHEM
  • 32. Evolution de MapReduce:YARN • YARN (Yet-Another-Resource-Negotiator) : – Séparation entre la gestion des ressources et la gestion des tâches Map/Reduce –Allocation des ressources (CPU, mémoire, …) aux applications s’exécutant sur les nœuds à la demande.applications s’exécutant sur les nœuds à la demande. 32323232 Mouna TORJMEN KHEMAKHEM
  • 33. Ressource Manager (RM) -s’exécute sur le nœud master -ordonnanceur de ressources -s’occupe de gestion de ressources entre plusieurs applications Application Master (AM) -un seul AM par application Architecture de YARN JobTracker RessourceManager ApplicationMaster AM AM -un seul AM par application -s’exécute sur un container Container -créé par le Resource Manager à la demande -s’occupe de l’allocation de ressources sur le noud esclave 33333333 Mouna TORJMEN KHEMAKHEM
  • 34. Le NodeManager (NM) • S’exécute sur un noeud esclave • En communication avec le Ressource Manager Architecture de YARN RessourceManager ApplicationMasterAM AM NodeManager NM NM 34343434 Mouna TORJMEN KHEMAKHEM
  • 35. Architecture de YARN Exécution d’une application 35353535 Mouna TORJMEN KHEMAKHEM
  • 36. Evolution de HDFS : HDFS 2 1. Le SPOF du Namenode a disparu • Dans Hadoop 1: un seul namenode un SPOF (Single Point Of Failure). • Dans Hadoop 2: deux namenodes Si le Namenode principal tombe en panne, le Namenode secondaire le remplace. 2. La fédération HDFS Un namenode correspond à un espace de nommage (namespace). • Dans Hadoop1: un seul namenode par cluster. • Dans Hadoop2: plusieurs namenodes et donc plusieurs namespace sur un même cluster. 36363636 Mouna TORJMEN KHEMAKHEM
  • 37. Evolution de Hadoop: Hadoop 2 37373737 Mouna TORJMEN KHEMAKHEM
  • 38. Evolution de Hadoop: Hadoop 2 MounaTORJMEN KHEMAKHEM38383838 Mouna TORJMEN KHEMAKHEM
  • 39. Erasure coding pour plus de résilience Intégration du technique erasure coding à HDFS pour améliorer la récupération et la fiabilité des données UnYARN renforcé et plus étendu amélioration des capacités de scalabilité des applications distribuées sur plusieurs milliers de nœuds d’un Evolution de Hadoop: Hadoop 3 des applications distribuées sur plusieurs milliers de nœuds d’un cluster 39393939 Mouna TORJMEN KHEMAKHEM