SlideShare une entreprise Scribd logo
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022 1
PRÉSENTATION DE
APACHE HADOOP
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
2
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
SOMMAIRE :
● Comprendre qu’est que Hadoop et à quoi il sert
● Comprendre l’importance de HDFS (Hadoop Distributed File System)
● Comprendre le principe du modèle MapReduce
● Connaître les différentes distribution de Hadoop
● Découvrir les composants de l’écosystème d’Hadoop
● Utiliser basiquement les composants principaux d'Hadoop
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
3
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Qu’est ce que Hadoop ?
C’est un framework Open Source qui permet de créer des applications distribuées
Créé en 2004 par Doug Cutting pour les besoins du projet Apache Nutch, un moteur de
recherche open source.
Gère la résistance aux pannes offrant ainsi de le haute disponibilité des services
En 2006, Hadoop devient un sous-projet d'Apache Lucene et en
2008 un projet indépendant de la fondation Apache.
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
4
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
L’utilisation de Hadoop
Il permet d’effectuer des stockages de très grand volumes de donnée à l’ordre des
Pétaoctets (Po) et ce à de moindres coûts
Très utilisé par les réseaux sociaux
A été à la base de la bonne réputation de certains sites de e-commerce
Beaucoup utilisé pour l’analyse des fichier non structurés (log files)
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
5
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Le monde de l'informatique est entré dans une ère dans laquelle la principale
problématique n'est plus de comment acquérir des données mais plutôt de comment
gérer l'énorme quantité de données acquises. Cette situation atypique de Big Data
pose deux problèmes principaux :
● Comment stocker ces informations : aucun disque dur seul n'est capable de
stocker plusieurs milliers de téraoctets de données
● Comment organiser et rechercher rapidement dans ces informations : une
machine seule n'a pas la puissance nécessaire pour effectuer des recherches
suffisamment rapides sur les données ;
Pourquoi Hadoop ?
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
6
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
La solution à ces deux problèmes est d'utiliser plusieurs machines :
● En partageant leur disque dur, les machines forment un groupe de stockage bien
plus grand
● En partageant leur processeur (et/ou leur carte graphique), les machines forment
un groupe de calcul bien plus performant
Cette organisation de machines dialoguant pour partager stockage et puissance de calcul est appelée un
cluster de machine (et les machines de ce cluster sont alors appelées des nœuds).
Hadoop permet d’apporter un contexte, des outils et des conventions afin de rapidement pouvoir mettre en
place un tel cluster, y stocker des données et y exécuter des programmes de manière distribuée.
Pourquoi Hadoop ? (suite)
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
7
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Cluster :
Un cluster est un ensemble d'ordinateurs connectés entre eux par un réseau et capables de
s'organiser pour se répartir la charge (de calcul ou de stockage). Chaque ordinateur de ce cluster
est appelé un nœud.
Hadoop :
Hadoop est un "framework" (un cadre de travail) qui va mettre en place une synchronisation entre
les différents composants de votre cluster afin d'être capable d'y stocker des données et d'y
exécuter des programmes. Hadoop un "framework" : ce n'est pas un logiciel (il n'a pas d'interface
graphique), ni même une librairie de code, mais plutôt une suite d'outils qui travaillent ensemble.
Définitions
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
8
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Hadoop est donc une plateforme permettant d'établir un dialogue entre plusieurs
machines d'un cluster. Pour atteindre son objectif, Hadoop se structure en deux
principales couches :
● HDFS : Hadoop Distributed File System, un système de fichiers virtuel agrégant le
stockage de plusieurs machines d'un cluster
● Hadoop MapReduce : un framework logiciel écrit en Java permettant de
développer des programmes exécutables de manière distribués grâce à
l'utilisation de l'algorithme MapReduce développé par Google
Fonctions principales de Hadoop
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
9
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Fonctionnement de Hadoop
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
10
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Fonctionnement de Hadoop (suite)
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
11
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Fonctionnement de Hadoop (suite)
https://www.supinfo.com/articles/single/2090-hadoop
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
12
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
C’est quoi HDFS (Hadoop Distributed File System) ?
C’est un système de fichier logique dédié au stockage de données
C’est grâce au HDFS que Hadoop parvient à stocker des pétaoctets de données
Il offre la possibilité de faire des traitements parallèles et distribués
Question:
C’est quoi la différence entre un traitement parallèle et un traitement distribué ?
Grâce à son système de réplication des données, il est tolérant aux pannes
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
13
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Principe de fonctionnement du HDFS
https://commons.wikimedia.org/wiki/File:HDFS.png?uselang=fr
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
14
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Qu’est ce que MapReduce ?
Il s’agit d’un modèle de programmation créé par Google
Il est utilisé par Hadoop pour effectuer des calculs parallèles et distribués sur des
données très volumineuses
La fonction Map réalise des opération dédiées à chaque élément de la liste à traiter
La fonction Reduce elle rassemble tous ces éléments et délivre le résultat sous forme
condensée
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
15
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Principe de fonctionnement de MapReduce
https://www.oreilly.com/library/view/distributed-computing-in/9781787126992/assets/fadf32ab-b857-4d22-a334-c989b5bafdea.png
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
16
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Principe de fonctionnement de MapReduce (suite)
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
17
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Principe de fonctionnement de MapReduce (suite)
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
18
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Hadoop V1 : Les trois composantes intégrées par MapReduce v1
● API:
permettant aux programmeurs l’écriture des applications MapReduce
● Framework:
Permettant l’exécution des jobs MapReduce, à savoir le Shuffle/Sort
● Resource Management:
L'infrastructure pour gérer les noeuds du cluster, allouer des
ressources et ordonnancer les jobs.
MapReduce 1
MR API
Framework
Resource
Management
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
19
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Hadoop V1 : Les deux démons offert par MapReduce v1
● JobTracker: s’exécute sur les Name Nodes
➔ Divise le travail sur les Mappers et Reducers, s'exécutant sur les différents noeuds
● TaskTracker: s’exécute sur les Data Nodes
➔ S’exécute sur chacun des noeuds pour exécuter les vraies tâches de Map-Reduce
➔ Choisie en général de traiter (Map ou Reduce) un bloc sur la même machine que lui
➔ S’il est déjà occupé, la tâche reviendra à un autre Tracker, qui utilisera le réseau (cas rare)
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
20
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Hadoop V1 : Fonctionnement de MapReduce v1
● Un Job Map-Reduce est divisé en plusieurs tâches appelées Mappers et Reducers
● Chaque tâche est exécutée sur un noeud du cluster
● Chaque noeud a un certain nombre de slots prédéfinis : Map Slots et Reduce Slots
● Un slot est une unité d’exécution qui représente la capacité du TaskTracker à exécuter une tâche
(Map ou Reduce) individuellement, à un moment donné
● Le JobTracker se charge à la fois :
➔ D’allouer les ressources (Mémoire, CPU, …) aux différentes tâches
➔ De coordonner les jobs Map-Reduce
➔ De réserver et ordonnancer les slots et de gérer les autres en allouant les slots au besoin
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
21
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Hadoop V1 : Problèmes rencontrés avec MapReduce v1
● Le JobTracker s’exécute sur une seule machines, et effectue plusieurs tâches (gestion de
ressources, ordonnancement et monitoring des tâches …)
Problème de scalabilité: les DataNodes sous exploités, et les noeuds par cluster limité à 4000
● Si le JobTracker tombe en panne, tous les Jobs doivent redémarrer
Problème de disponibilité: SPoF (Single Point of Failure)
● Le nombre de Map Slots et de Reduce Slots est pré-défini et limité
Problème d’exploitation: si on a plusieurs Map Jobs à exécuter, et que les Map Slots sont pleins,
les Reduce Slots ne peuvent pas être utilisés, et vice-versa.
● Le JobTracker est fortement intégré à MapReduce
Problème d’interopérabilité: impossible d’exécuter les applications non MapReduce sur HDFS
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
22
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Hadoop V2 : Les composants de MapReduce v2
● MapReduce V2 sépare la gestion des ressources de celle des tâches Map
et Reduce
Problème de scalabilité: les DataNodes sous exploités, et les noeuds par cluster
sont limités à 4000
● Pas de notion de Slots
Les ressources (CPU, mémoire, …) sont allouées aux applications à la demande
● Apparition de nouveaux démons
Les fonctionnalités du JobTracker sont déclarés vers le “Application Master”
Un cluster peut avoir plusieurs “Application Master”
● Support pour les application MR et non-MR
MapReduce 2
MR API
Framework
YARN
YARN API
Resource
Management
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
23
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Hadoop V2 : Les nouveaux démons MapReduce v2
● Resource Manager (RM) : Tourne sur le noeud master, effectue
l’ordonnancement global des ressources et permet l’arbitrage des ressources
entre plusieurs applications
● Application Master (AM) : Un seul par application, s’exécute sur un container,
et demande plusieurs containers pour exécuter les tâches de l’application
● Node Manager : S’exécute sur les noeuds esclaves et communique avec le RM
● Containers : Créés par le RM à la demande, et se voit allouer des ressources
sur le noeud esclave
Resource
Manager
3 GB
1 Core
Node Manager
Resource
Management
1 GB
1 Core
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
24
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Hadoop V2 : Lancement d’une application dans un cluster YARN
Resource
Manager
Node Manager
Node Manager
Node Manager
Node Manager
Application
Master
1. Lance application APP01
2. Déclenche
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
25
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Hadoop V2 : Lancement d’une application dans un cluster YARN
Resource
Manager
Node Manager
Node Manager
Node Manager
Node Manager
Application
Master
1. Lance application APP01
3. Demande de ressources
4. Allocation
de container
4. Allocation
de container
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
26
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Hadoop V2 : Lancement d’une application dans un cluster YARN
Resource
Manager
Node Manager
Node Manager
Node Manager
Node Manager
Application
Master
1. Lance application APP01
5. IDs des Containers
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
27
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Hadoop V2 : Lancement d’une application dans un cluster YARN
Resource
Manager
Node Manager
Node Manager
Node Manager
Node Manager
Application
Master
1. Lance application APP01
6. Déclenche
6. Déclenche
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
28
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Hadoop V2 : Lancement d’une application dans un cluster YARN
Resource
Manager
Node Manager
Node Manager
Node Manager
Node Manager
Application
Master
1. Word count of
Data01.txt
2. Déclenche
4. Allocation
Data01.txt
DataBlock02
DataBlock02
3. Demande de ressources
4. Allocation
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
29
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Hadoop V2 : Lancement d’une application dans un cluster YARN
Resource
Manager
Node Manager
Node Manager
Node Manager
Node Manager
Application
Master
1. Word count of
Data01.txt
WordCount
Map Task
WordCount
Map Task
Data01.txt
DataBlock02
DataBlock02
5. IDs des Containers
6. Déclenche
6. Déclenche
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
30
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Hadoop V2 : Lancement d’une application dans un cluster YARN
Resource
Manager
Node Manager
Node Manager
Node Manager
Node Manager
Application
Master
Word count of Data01.txt
WordCount
Map Task
WordCount
Map Task
8. Allocation
Data01.txt
DataBlock02
DataBlock02
7. Demande de ressources
8. Allocation
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
31
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Hadoop V2 : Lancement d’une application dans un cluster YARN
Resource
Manager
Node Manager
Node Manager
Node Manager
Node Manager
Application
Master
Word count of Data01.txt
WordCount
Map Task
WordCount
Map Task
Data01.txt
DataBlock02
DataBlock02
9. IDs des Containers
WordCount
Reduce Task
WordCount
Reduce Task
10. Déclenche
10. Déclenche
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
32
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
YARN et l'écosystème Hadoop
La description de Hadoop comme possédant 2 couches (MapReduce et HDFS) est correcte pour la
version 1 de Hadoop. Depuis la version 2, Hadoop a adopté une troisième couche : YARN ("Yet Another
Resource Negotiator"), un outil de gestion des ressources distribuée.
YARN provient d'un découpage de la première version de Hadoop MapReduce en deux sous-couches :
● l'une dédiée à la gestion de la puissance de calcul et de la répartition de la charge entre les
machines d'un cluster (YARN)
● l'autre dédiée à l'implémentation de l'algorithme MapReduce en utilisant cette première couche
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
33
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Structure de Hadoop 2 : YARN !
Ce découpage a amené de nombreux autres outils (liés ou indépendants d'Apache Hadoop) à profiter de
l’environnement HDFS comme moyen de stocker aisément de grandes quantités de données sans
nécessairement MapReduce. Un écosystème d'outils liés à Hadoop a alors émergé et est de nos jours
très développé.
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
34
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
L’écosystème de Hadoop :
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
35
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
L’écosystème de Hadoop :
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
36
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
L’écosystème de Hadoop :
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
37
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Pour les distributions de Hadoop, il s'agit de :
Différentes versions payantes du framework
Versions personnalisées et Open Sources du framework
Versions offrant des outils de gestion et d’administration
Versions offrant des supports de documentations et des formations gratuites ou
payantes
Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP
38
M. ONDAPHE Christian Arthur <arthurondaphe@gmail.com> | 2021 - 2022
Des questions?

Contenu connexe

PDF
Big Data, Hadoop & Spark
PDF
Cours_de_Big_Data_LF2_IG_EbhkjbhkhfhSB.pdf
PPTX
Hadoop
PDF
Chapitre-2-Le-Big-Data-Hadoop-HDFS-et-MapReduce.pdf
TXT
Aqui hadoop draft
PPTX
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
PDF
Distributed programing (hadoop &amp;&amp; java) version finale.pptx
PDF
Techday Arrow Group: Hadoop & le Big Data
Big Data, Hadoop & Spark
Cours_de_Big_Data_LF2_IG_EbhkjbhkhfhSB.pdf
Hadoop
Chapitre-2-Le-Big-Data-Hadoop-HDFS-et-MapReduce.pdf
Aqui hadoop draft
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Distributed programing (hadoop &amp;&amp; java) version finale.pptx
Techday Arrow Group: Hadoop & le Big Data

Similaire à 598262625-Presentation-D-HADOooooooOP.pdf (20)

PDF
Tech day hadoop, Spark
PDF
Hadoop Hbase - Introduction
PPTX
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )
PDF
Hadoop Introduction in Paris
PDF
ch2-hadoop-L3-2023-4p (1).pdf
PDF
Plongée dans la plateforme hadoop
PDF
Afterwork hadoop
PDF
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
PPTX
Présentation_HADOOP.pptx
PPTX
10 big data hadoop
PPTX
10 big data hadoop
PPTX
Spad big data - sfds - 2016
PPTX
Chapitre2_Hadoop_MapReduce----------------.pptx
PDF
Hadoop
PDF
Cours Big Data Chap2
PDF
Hadoop
PDF
Hadoop and friends : introduction
PPTX
Presentation Hadoop Québec
PDF
BigData_Technologies_PL.pdf
Tech day hadoop, Spark
Hadoop Hbase - Introduction
Présentation Hadoop SECURINETS INSAT (MAP & REDUCE )
Hadoop Introduction in Paris
ch2-hadoop-L3-2023-4p (1).pdf
Plongée dans la plateforme hadoop
Afterwork hadoop
CHAPITRE3_Fondements_Big_Data_MR_YARN - converted (1).pdf
Présentation_HADOOP.pptx
10 big data hadoop
10 big data hadoop
Spad big data - sfds - 2016
Chapitre2_Hadoop_MapReduce----------------.pptx
Hadoop
Cours Big Data Chap2
Hadoop
Hadoop and friends : introduction
Presentation Hadoop Québec
BigData_Technologies_PL.pdf
Publicité

Plus de RihabBENLAMINE (20)

PPT
bq7ix-ARCHITECTUREeeeeee_DES_ORDINATEURS.ppt
PPT
20XX-XX.cours.01.adommlmmkkkkkmmmmmmk.ppt
PDF
Technologie_Web_et_XMLIMPORTANTTTTTT.pdf
PDF
coursJavaOopmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.pdf
PPTX
Cours_TGC_11111111111111111111111111111111.pptx
PPTX
CM_Webbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.pptx
PPT
0242-formation-j2eereeeeeeeeeeeeeeeeeeeee.ppt
PPT
rferfergergergergergergergergergergergerger
PDF
545068251-Chapitre-3-Mongo-Mapreduce.pdf
PPTX
634092592-Untitledddddddddddddddddd.pptx
PPTX
751551154-LA-rrrrrRE-ALITE-VIRTUELLE.pptx
PPT
powerpointralitaugmente-111221163422-phpapp02.ppt
PDF
cours5,njkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk.pdf
PDF
Algorithmique_et_programmation_I_Plan_du.pdf
PDF
Cours7-Couche-Liaisonfzeffffffffffffffffffff.pdf
PPTX
216762808790_chap1fondementdesreseaux2023.pptx
PDF
Mobil-Intentsfdgdfgdfgdfgdfgdfgdfgdgdfgdf.pdf
PDF
cours-intentdgdgsdgsdgsdgsdgsdgsdgsdgs.pdf
PPTX
481436448-Virtualisation-Cloud-computing-2020-1-pptx.pptx
PDF
coursPgvhgvgvgchgcghcghcgcgchchgchghg2.pdf
bq7ix-ARCHITECTUREeeeeee_DES_ORDINATEURS.ppt
20XX-XX.cours.01.adommlmmkkkkkmmmmmmk.ppt
Technologie_Web_et_XMLIMPORTANTTTTTT.pdf
coursJavaOopmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.pdf
Cours_TGC_11111111111111111111111111111111.pptx
CM_Webbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.pptx
0242-formation-j2eereeeeeeeeeeeeeeeeeeeee.ppt
rferfergergergergergergergergergergergerger
545068251-Chapitre-3-Mongo-Mapreduce.pdf
634092592-Untitledddddddddddddddddd.pptx
751551154-LA-rrrrrRE-ALITE-VIRTUELLE.pptx
powerpointralitaugmente-111221163422-phpapp02.ppt
cours5,njkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk.pdf
Algorithmique_et_programmation_I_Plan_du.pdf
Cours7-Couche-Liaisonfzeffffffffffffffffffff.pdf
216762808790_chap1fondementdesreseaux2023.pptx
Mobil-Intentsfdgdfgdfgdfgdfgdfgdfgdgdfgdf.pdf
cours-intentdgdgsdgsdgsdgsdgsdgsdgsdgs.pdf
481436448-Virtualisation-Cloud-computing-2020-1-pptx.pptx
coursPgvhgvgvgchgcghcghcgcgchchgchghg2.pdf
Publicité

598262625-Presentation-D-HADOooooooOP.pdf

  • 1. M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 1 PRÉSENTATION DE APACHE HADOOP
  • 2. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 2 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 SOMMAIRE : ● Comprendre qu’est que Hadoop et à quoi il sert ● Comprendre l’importance de HDFS (Hadoop Distributed File System) ● Comprendre le principe du modèle MapReduce ● Connaître les différentes distribution de Hadoop ● Découvrir les composants de l’écosystème d’Hadoop ● Utiliser basiquement les composants principaux d'Hadoop
  • 3. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 3 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Qu’est ce que Hadoop ? C’est un framework Open Source qui permet de créer des applications distribuées Créé en 2004 par Doug Cutting pour les besoins du projet Apache Nutch, un moteur de recherche open source. Gère la résistance aux pannes offrant ainsi de le haute disponibilité des services En 2006, Hadoop devient un sous-projet d'Apache Lucene et en 2008 un projet indépendant de la fondation Apache.
  • 4. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 4 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 L’utilisation de Hadoop Il permet d’effectuer des stockages de très grand volumes de donnée à l’ordre des Pétaoctets (Po) et ce à de moindres coûts Très utilisé par les réseaux sociaux A été à la base de la bonne réputation de certains sites de e-commerce Beaucoup utilisé pour l’analyse des fichier non structurés (log files)
  • 5. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 5 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Le monde de l'informatique est entré dans une ère dans laquelle la principale problématique n'est plus de comment acquérir des données mais plutôt de comment gérer l'énorme quantité de données acquises. Cette situation atypique de Big Data pose deux problèmes principaux : ● Comment stocker ces informations : aucun disque dur seul n'est capable de stocker plusieurs milliers de téraoctets de données ● Comment organiser et rechercher rapidement dans ces informations : une machine seule n'a pas la puissance nécessaire pour effectuer des recherches suffisamment rapides sur les données ; Pourquoi Hadoop ?
  • 6. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 6 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 La solution à ces deux problèmes est d'utiliser plusieurs machines : ● En partageant leur disque dur, les machines forment un groupe de stockage bien plus grand ● En partageant leur processeur (et/ou leur carte graphique), les machines forment un groupe de calcul bien plus performant Cette organisation de machines dialoguant pour partager stockage et puissance de calcul est appelée un cluster de machine (et les machines de ce cluster sont alors appelées des nœuds). Hadoop permet d’apporter un contexte, des outils et des conventions afin de rapidement pouvoir mettre en place un tel cluster, y stocker des données et y exécuter des programmes de manière distribuée. Pourquoi Hadoop ? (suite)
  • 7. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 7 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Cluster : Un cluster est un ensemble d'ordinateurs connectés entre eux par un réseau et capables de s'organiser pour se répartir la charge (de calcul ou de stockage). Chaque ordinateur de ce cluster est appelé un nœud. Hadoop : Hadoop est un "framework" (un cadre de travail) qui va mettre en place une synchronisation entre les différents composants de votre cluster afin d'être capable d'y stocker des données et d'y exécuter des programmes. Hadoop un "framework" : ce n'est pas un logiciel (il n'a pas d'interface graphique), ni même une librairie de code, mais plutôt une suite d'outils qui travaillent ensemble. Définitions
  • 8. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 8 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Hadoop est donc une plateforme permettant d'établir un dialogue entre plusieurs machines d'un cluster. Pour atteindre son objectif, Hadoop se structure en deux principales couches : ● HDFS : Hadoop Distributed File System, un système de fichiers virtuel agrégant le stockage de plusieurs machines d'un cluster ● Hadoop MapReduce : un framework logiciel écrit en Java permettant de développer des programmes exécutables de manière distribués grâce à l'utilisation de l'algorithme MapReduce développé par Google Fonctions principales de Hadoop
  • 9. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 9 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Fonctionnement de Hadoop
  • 10. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 10 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Fonctionnement de Hadoop (suite)
  • 11. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 11 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Fonctionnement de Hadoop (suite) https://www.supinfo.com/articles/single/2090-hadoop
  • 12. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 12 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 C’est quoi HDFS (Hadoop Distributed File System) ? C’est un système de fichier logique dédié au stockage de données C’est grâce au HDFS que Hadoop parvient à stocker des pétaoctets de données Il offre la possibilité de faire des traitements parallèles et distribués Question: C’est quoi la différence entre un traitement parallèle et un traitement distribué ? Grâce à son système de réplication des données, il est tolérant aux pannes
  • 13. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 13 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Principe de fonctionnement du HDFS https://commons.wikimedia.org/wiki/File:HDFS.png?uselang=fr
  • 14. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 14 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Qu’est ce que MapReduce ? Il s’agit d’un modèle de programmation créé par Google Il est utilisé par Hadoop pour effectuer des calculs parallèles et distribués sur des données très volumineuses La fonction Map réalise des opération dédiées à chaque élément de la liste à traiter La fonction Reduce elle rassemble tous ces éléments et délivre le résultat sous forme condensée
  • 15. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 15 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Principe de fonctionnement de MapReduce https://www.oreilly.com/library/view/distributed-computing-in/9781787126992/assets/fadf32ab-b857-4d22-a334-c989b5bafdea.png
  • 16. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 16 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Principe de fonctionnement de MapReduce (suite)
  • 17. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 17 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Principe de fonctionnement de MapReduce (suite)
  • 18. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 18 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Hadoop V1 : Les trois composantes intégrées par MapReduce v1 ● API: permettant aux programmeurs l’écriture des applications MapReduce ● Framework: Permettant l’exécution des jobs MapReduce, à savoir le Shuffle/Sort ● Resource Management: L'infrastructure pour gérer les noeuds du cluster, allouer des ressources et ordonnancer les jobs. MapReduce 1 MR API Framework Resource Management
  • 19. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 19 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Hadoop V1 : Les deux démons offert par MapReduce v1 ● JobTracker: s’exécute sur les Name Nodes ➔ Divise le travail sur les Mappers et Reducers, s'exécutant sur les différents noeuds ● TaskTracker: s’exécute sur les Data Nodes ➔ S’exécute sur chacun des noeuds pour exécuter les vraies tâches de Map-Reduce ➔ Choisie en général de traiter (Map ou Reduce) un bloc sur la même machine que lui ➔ S’il est déjà occupé, la tâche reviendra à un autre Tracker, qui utilisera le réseau (cas rare)
  • 20. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 20 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Hadoop V1 : Fonctionnement de MapReduce v1 ● Un Job Map-Reduce est divisé en plusieurs tâches appelées Mappers et Reducers ● Chaque tâche est exécutée sur un noeud du cluster ● Chaque noeud a un certain nombre de slots prédéfinis : Map Slots et Reduce Slots ● Un slot est une unité d’exécution qui représente la capacité du TaskTracker à exécuter une tâche (Map ou Reduce) individuellement, à un moment donné ● Le JobTracker se charge à la fois : ➔ D’allouer les ressources (Mémoire, CPU, …) aux différentes tâches ➔ De coordonner les jobs Map-Reduce ➔ De réserver et ordonnancer les slots et de gérer les autres en allouant les slots au besoin
  • 21. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 21 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Hadoop V1 : Problèmes rencontrés avec MapReduce v1 ● Le JobTracker s’exécute sur une seule machines, et effectue plusieurs tâches (gestion de ressources, ordonnancement et monitoring des tâches …) Problème de scalabilité: les DataNodes sous exploités, et les noeuds par cluster limité à 4000 ● Si le JobTracker tombe en panne, tous les Jobs doivent redémarrer Problème de disponibilité: SPoF (Single Point of Failure) ● Le nombre de Map Slots et de Reduce Slots est pré-défini et limité Problème d’exploitation: si on a plusieurs Map Jobs à exécuter, et que les Map Slots sont pleins, les Reduce Slots ne peuvent pas être utilisés, et vice-versa. ● Le JobTracker est fortement intégré à MapReduce Problème d’interopérabilité: impossible d’exécuter les applications non MapReduce sur HDFS
  • 22. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 22 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Hadoop V2 : Les composants de MapReduce v2 ● MapReduce V2 sépare la gestion des ressources de celle des tâches Map et Reduce Problème de scalabilité: les DataNodes sous exploités, et les noeuds par cluster sont limités à 4000 ● Pas de notion de Slots Les ressources (CPU, mémoire, …) sont allouées aux applications à la demande ● Apparition de nouveaux démons Les fonctionnalités du JobTracker sont déclarés vers le “Application Master” Un cluster peut avoir plusieurs “Application Master” ● Support pour les application MR et non-MR MapReduce 2 MR API Framework YARN YARN API Resource Management
  • 23. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 23 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Hadoop V2 : Les nouveaux démons MapReduce v2 ● Resource Manager (RM) : Tourne sur le noeud master, effectue l’ordonnancement global des ressources et permet l’arbitrage des ressources entre plusieurs applications ● Application Master (AM) : Un seul par application, s’exécute sur un container, et demande plusieurs containers pour exécuter les tâches de l’application ● Node Manager : S’exécute sur les noeuds esclaves et communique avec le RM ● Containers : Créés par le RM à la demande, et se voit allouer des ressources sur le noeud esclave Resource Manager 3 GB 1 Core Node Manager Resource Management 1 GB 1 Core
  • 24. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 24 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Hadoop V2 : Lancement d’une application dans un cluster YARN Resource Manager Node Manager Node Manager Node Manager Node Manager Application Master 1. Lance application APP01 2. Déclenche
  • 25. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 25 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Hadoop V2 : Lancement d’une application dans un cluster YARN Resource Manager Node Manager Node Manager Node Manager Node Manager Application Master 1. Lance application APP01 3. Demande de ressources 4. Allocation de container 4. Allocation de container
  • 26. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 26 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Hadoop V2 : Lancement d’une application dans un cluster YARN Resource Manager Node Manager Node Manager Node Manager Node Manager Application Master 1. Lance application APP01 5. IDs des Containers
  • 27. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 27 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Hadoop V2 : Lancement d’une application dans un cluster YARN Resource Manager Node Manager Node Manager Node Manager Node Manager Application Master 1. Lance application APP01 6. Déclenche 6. Déclenche
  • 28. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 28 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Hadoop V2 : Lancement d’une application dans un cluster YARN Resource Manager Node Manager Node Manager Node Manager Node Manager Application Master 1. Word count of Data01.txt 2. Déclenche 4. Allocation Data01.txt DataBlock02 DataBlock02 3. Demande de ressources 4. Allocation
  • 29. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 29 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Hadoop V2 : Lancement d’une application dans un cluster YARN Resource Manager Node Manager Node Manager Node Manager Node Manager Application Master 1. Word count of Data01.txt WordCount Map Task WordCount Map Task Data01.txt DataBlock02 DataBlock02 5. IDs des Containers 6. Déclenche 6. Déclenche
  • 30. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 30 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Hadoop V2 : Lancement d’une application dans un cluster YARN Resource Manager Node Manager Node Manager Node Manager Node Manager Application Master Word count of Data01.txt WordCount Map Task WordCount Map Task 8. Allocation Data01.txt DataBlock02 DataBlock02 7. Demande de ressources 8. Allocation
  • 31. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 31 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Hadoop V2 : Lancement d’une application dans un cluster YARN Resource Manager Node Manager Node Manager Node Manager Node Manager Application Master Word count of Data01.txt WordCount Map Task WordCount Map Task Data01.txt DataBlock02 DataBlock02 9. IDs des Containers WordCount Reduce Task WordCount Reduce Task 10. Déclenche 10. Déclenche
  • 32. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 32 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 YARN et l'écosystème Hadoop La description de Hadoop comme possédant 2 couches (MapReduce et HDFS) est correcte pour la version 1 de Hadoop. Depuis la version 2, Hadoop a adopté une troisième couche : YARN ("Yet Another Resource Negotiator"), un outil de gestion des ressources distribuée. YARN provient d'un découpage de la première version de Hadoop MapReduce en deux sous-couches : ● l'une dédiée à la gestion de la puissance de calcul et de la répartition de la charge entre les machines d'un cluster (YARN) ● l'autre dédiée à l'implémentation de l'algorithme MapReduce en utilisant cette première couche
  • 33. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 33 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Structure de Hadoop 2 : YARN ! Ce découpage a amené de nombreux autres outils (liés ou indépendants d'Apache Hadoop) à profiter de l’environnement HDFS comme moyen de stocker aisément de grandes quantités de données sans nécessairement MapReduce. Un écosystème d'outils liés à Hadoop a alors émergé et est de nos jours très développé.
  • 34. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 34 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 L’écosystème de Hadoop :
  • 35. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 35 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 L’écosystème de Hadoop :
  • 36. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 36 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 L’écosystème de Hadoop :
  • 37. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 37 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Pour les distributions de Hadoop, il s'agit de : Différentes versions payantes du framework Versions personnalisées et Open Sources du framework Versions offrant des outils de gestion et d’administration Versions offrant des supports de documentations et des formations gratuites ou payantes
  • 38. Architecture Big Data - Chapitre 3: Présentation d’Apache HADOOP 38 M. ONDAPHE Christian Arthur <[email protected]> | 2021 - 2022 Des questions?