Vous êtes sur la page 1sur 10

18/10/2023

Plan

Chapitre II : Hadoop et 1.
2.
Introduction d’Hadoop
Hadoop HDFS
MapReduce 3. Hadoop MapReduce
4. Hadoop Yarn

ISGIS 2023-2024 Introduction au Big Data et Cloud 30 ISGIS 2023-2024 Introduction au Big Data et Cloud 31

1. Introduction d’Hadoop 1. Introduction d’Hadoop


• Problématique: • Problématique:
Avant Haddop
Approche traditionnelle de gestion des données.
Le stockage et le traitement des données sont • l’échelle de croissance des données aujourd’hui surpasse la capacité
centralisées dans un serveur. raisonnable des technologies traditionnelles, ou même la configuration
matérielle typique supportant les accès à ces données.
• Les mégadonnées ou Big Data sont des collections d’informations qui auraient
été considérées comme gigantesques, impossible à stocker et à traiter.

• Le traitement d’aussi grandes quantités de données impose des méthodes


particulières. Un SGBD classique, même haut de gamme, est dans l’incapacité
de traiter autant d’informations.
ISGIS 2023-2024 Introduction au Big Data et Cloud 32 ISGIS 2023-2024 Introduction au Big Data et Cloud 33

1
18/10/2023

1. Introduction d’Hadoop 1. Introduction d’Hadoop


• Motivations: • Architecture distribuée (cluster computing):
Le stockage des données est distribuée dans les noeuds d’un cluster et leur
• Répartir les données sur plusieurs machines (jusqu’à plusieurs millions traitement y est parallélisé.
d’ordinateurs) dans des Data Centers
• système de fichiers spécial permettant de ne voir qu’un seul espace pouvant contenir des
fichiers gigantesques et/ou très nombreux (ex: HDFS),
• bases de données spécifiques (ex: HBase, Cassandra, ElasticSearch).
• Traitements du type "map-reduce" :
• algorithmes faciles à écrire,
• exécutions faciles à paralléliser.
• Hors mis les solutions particulières de SGBD Massivement parallèles de type
Teradata, ou Hana, Hadoop est actuellement la seule plateforme mature qui
implémente avec succès la stratégie de distribution du stockage et de
parallélisme de données.
ISGIS 2023-2024 Introduction au Big Data et Cloud 34 ISGIS 2023-2024 Introduction au Big Data et Cloud 35

1. Introduction d’Hadoop 1. Introduction d’Hadoop


• Un Data Center: • Serveur « lame »
Imaginez 5000 ordinateurs connectés entre eux formant un cluster : Chacun de ces PC lames (blade computer) ou rack server peut ressembler à ceci (4
CPU multi-cœurs, 1 To de RAM, 24 To de disques rapides, 5000e, prix et
technologie en constante évolution) :

ISGIS 2023-2024 Introduction au Big Data et Cloud 36 ISGIS 2023-2024 Introduction au Big Data et Cloud 37

2
18/10/2023

1. Introduction d’Hadoop 1. Introduction d’Hadoop


Hadoop ?
• Machines connectées
Toutes ces machines sont connectées entre elles afin de partager l’espace de Hadoop est un système (une palteforme framework) de gestion de données et de
stockage et la puissance de calcul. traitements distribués. Il se pose sur 3 composants :
Le Cloud est un exemple d’espace de stockage distribué : des fichiers sont stockés • Le système de fichier, HDFS (Hadoop Distributed File System) qui répartit les
sur différentes machines, généralement en double pour prévenir une panne. données sur de nombreuses machinesàstockage des données.
• Le modèle de calcul parallèle, comme MapReduce, qui est la façon dont les
L’exécution des programmes est également distribuée : ils sont exécutés sur une ou données sont parallélisés dans les nœuds du cluster.
plusieurs machines du réseau. • Le gestionnaire de ressources, comme YARN : un mécanisme d’ordonnancement de
Tout ce module vise à enseigner la programmation d’applications sur un cluster, à programmes qui permet de faire tourner plusieurs moteurs de calcul dans le cluster et
l’aide des outils Hadoop. d’exploiter son potentiel au maximumà traitement de données.

ISGIS 2023-2024 Introduction au Big Data et Cloud 38 ISGIS 2023-2024 Introduction au Big Data et Cloud 39

1. Introduction d’Hadoop 1. Introduction d’Hadoop


Ecosystème de Hadoop Hadoop, HDFS et MapReduce
L’écosystème Hadoop est composé des éléments
suivants :
• HDFS : le système de fichier distribué d’Apache
Hadoop
• YARN : le gestionnaire de ressources et des tâches
dans un cluster Hadoop
• MapReduce : un framework pour le traitement de
grands ensembles de données en parallèle
• Spark : un moteur d’analyse unifié pour le
traitement de données à grande échelle
• PIG, HIVE : Services de traitement de données à
l’aide de requêtes du type SQL
• HBase : système de gestion de base de données
non-relationnelles distribué
• Mahout, Spark MLlib : des services pour faire du
Machine Learning
• Solar & Lucene : Pour la recherche et l’indexation
• Zookeeper : Pour la gestion de Cluster
• Oozie : Système de planification de workflow pour
gérer les jobs Hadoop
• Flume, Sqoop : Services d’ingestion de données
ISGIS 2023-2024 Introduction au Big Data et Cloud 40 ISGIS 2023-2024 Introduction au Big Data et Cloud 41

3
18/10/2023

1. Introduction d’Hadoop 1. Introduction d’Hadoop


Ecosystème de Hadoop Ecosystème de Hadoop
• MapReduce utilise des langages de • Les jobs de MapReduce peuvent
programmation pour traiter les données: prendre beaucoup de temps pour
• Java, Ruby, Python, Perl, … s’exécuter sur de larges quantités de
données
• Plusieurs outils facilitant le travail • Autres projets pour simplifier
• Impala:
• Au dessus du MapReduce: langage • extraction des données directement à partir
de HDFS avec SQL
plus simple traduit plus tard en Mappers • optimisé pour les requêtes à faible latence
et Reducers: • requêtes plus rapide que Hive
• PIG: script simple • Hbase:
• Hive: requêtes SQL
• base de données temps réel

ISGIS 2023-2024 Introduction au Big Data et Cloud 42 ISGIS 2023-2024 Introduction au Big Data et Cloud 43

1. Introduction d’Hadoop 1. Introduction d’Hadoop


Ecosystème de Hadoop Ecosystème de Hadoop
• Connexion du HDS à partir d’outils • Hue:
externes • Front-end graphique pour le cluster
• Sqoop: • fournit
• un navigateur pour HDFS et Hbase
• extrait les données d'une base de données • des éditeurs pour Hive, Pig, Impala et Sqoop
relationnelle traditionnelle, telle que
Microsoft SQL Server, et le met dans • Oozie:
HDFS, comme les fichiers délimités. • outil de gestion de workflow (flux de travail)
Ainsi, il peut être traité avec d’autres • permet de gérer les jobs Hadoop
données dans le cluster. • Mahout:
• Flume : • Bibliothèque d’apprentissage automatique
• Système distribué permettant de collecter, • permet de:
regrouper et déplacer efficacement un • déterminer des éléments qu’un utilisateur pourra
apprécier selon son comportement
ensemble de données (des logs) à partir de • grouper des documents
plusieurs sources vers le HDFS. • affecter automatiquement des catégories aux
documents

ISGIS 2023-2024 Introduction au Big Data et Cloud 44 ISGIS 2023-2024 Introduction au Big Data et Cloud 45

4
18/10/2023

2. Hadoop HDFS 2. Hadoop HDFS


• HDFS est un système de fichiers distribué, • Chaque bloc est enregistré dans un nœud
extensible et portable différent du cluster
• écrit en Java • DataNode : démon sur chaque nœud du
• Permet de stocker de très gros volumes de cluster
données sur un grand nombre de machines • NameNode :
(nœuds) équipées de disques durs banalisés • Démon s’exécutant sue une machine séparée
à Cluster • Contient des métadonnées
• Quand un fichier mydata.txt est enregistré • Permet de retrouver les nœuds qui exécutent les
blocs d’un fichier
dans HDFS, il est décomposé en grands blocs
(par défaut 64 MO), chaque bloc ayant un
nom unique: blk_1, blk2…

ISGIS 2023-2024 Introduction au Big Data et Cloud 46 ISGIS 2023-2024 Introduction au Big Data et Cloud 47

2. Hadoop HDFS 2. Hadoop HDFS


• Si l’un des DataNode a un problème, les • Si c’est un problème d’accès (réseau), les
données seront perdues. données sont temporairement inaccessibles
• Hadoop réplique chaque bloc 3 fois
• il choisit 3 nœuds au hasard, et place une
copie du bloc dans chacun d’eux • Si le disque du NN est défaillant, les données
seront perdues à jamais
• si le nœud est en panne, le NN le détecte, et
s’occupe de répliquer encore les blocs qui y
étaient hébérgés pour avoir toujours 3 copies
stockées
• concept de Rack Awareness (rack= baie de
stockage)
• Si le NN a un problème?

ISGIS 2023-2024 Introduction au Big Data et Cloud 48 ISGIS 2023-2024 Introduction au Big Data et Cloud 49

5
18/10/2023

2. Hadoop HDFS 3. Hadoop MapReduce


• Pour éviter cela, le NN sera dupliqué, non • Patron d’architecture de développement
seulement sur son propre disque, mais permettant de traiter des données
également quelque part sur le système de volumineuses de manière parallèle et
fichiers du réseau distribuée
• A la base, le langage Java est utilisé, mais
• Définition d’un autre NN (standby grâce à une caractéristique de Hadoop
namenode) pour reprendre le travail si le NN appelée Hadoop Streaming, il est possible
actif est défaillant d’utiliser d’autres langages comme python ou
Ruby
• Au lieu de parcourir le fichier
séquentiellement (bcp de temps), il est divisé
en morceaux qui sont parcourus en parallèle
ISGIS 2023-2024 Introduction au Big Data et Cloud 50 ISGIS 2023-2024 Introduction au Big Data et Cloud 51

3. Hadoop MapReduce 3. Hadoop MapReduce


Exemple Exemple
• Imaginons que vous ayez plusieurs magasins • Possibilité:
que vous gérez à travers le monde. • pour chaque entrée, saisir la ville et le prix de
vente
• Un très grand livre de comptes contenant
• si on trouve une entrée avec une ville déjà saisie,
TOUTES les ventes. on les regroupe en faisant la somme des ventes
• Objectif: calculer le total des ventes par • Dans un environnement de calcul
magasin pour l’année en cours traditionnel, on utilise généralement des
• Supposons que les lignes de livres aient la Hashtables, sous forme de:
forme suivante: Clef Valeur
• Jour Ville Produit Prix
• Dans notre cas, la clef serait l’adresse du
magasin, et la valeur le total des ventes.

ISGIS 2023-2024 Introduction au Big Data et Cloud 52 ISGIS 2023-2024 Introduction au Big Data et Cloud 53

6
18/10/2023

3. Hadoop MapReduce 3. Hadoop MapReduce


Exemple Exemple
• Si on utilise les hashtables sur 1To, • Map-Reduce: moyen plus efficace et rapide
Problèmes? de traiter ces données
• Problème de mémoire
• Temps de traitement long • Au lieu d’avoir une seule personne qui
parcourt le livre, si on en recrutait plusieurs?
• Le traitement séquentiel de toues les données
peut s’avérer très long • Appeler une premier groupe les Mappers et
• Plus on a de magasins, plus l’ajout des un autre les Reducers
valeurs à la table est long • Diviser le livre en plusieurs parties, et en
• Il est possible de tomber à court de mémoire donner une à chaque Mapper
pour enregistrer cette table • Les Mappers peuvent travailler en même temps,
• Mais cela peut marcher, et le résultat sera chacun sur une partie des données
correct

ISGIS 2023-2024 Introduction au Big Data et Cloud 54 ISGIS 2023-2024 Introduction au Big Data et Cloud 55

3. Hadoop MapReduce 3. Hadoop MapReduce


Exemple Exemple
Mappers: • Le Reducer reçoit des données comme
• Pour chaque entrée, saisir la ville, et le total des suit:
ventes et les enregistrer dans une fiche Miami 12.34
• Rassembler les fiches du même magasin dans une Miami 99.07
même pile
Miami 3.14
Reducers: NYC 99.77
• Chaque Reducer sera responsable d’un ensemble de NYC 88.99
magasins
• ils collectent les fiches qui leur sont associées des
• Pour chaque entrée, de quoi avons-nous
différents Mappers besoin pour calculer la totalité des ventes
• Ils regroupent les petites piles d’une même ville en pour chaque magasin?
une seule • Coût en cours
• Ils parcourent ensuite chaque pile par ordre • ventes totales par magasin
alphabétique des villes (L.A avant Miami), et font • magasin précédent
la somme de l’ensemble des enregistrements
• magasin en cours

ISGIS 2023-2024 Introduction au Big Data et Cloud 56 ISGIS 2023-2024 Introduction au Big Data et Cloud 57

7
18/10/2023

3. Hadoop MapReduce 3. Hadoop MapReduce


Fonctionnement Résultat
• Les Mappers sont de petits programmes qui • Pour avoir un résultat trié par ordre, on
commencent par traiter chacun une petite
partie des données doit:
• ils fonctionnent en parallèle • soit avoir un seul Reducer, mais ça ne se met
pas bien à l’échelle
• leurs sorties représentent les enregistrements
intermédiaires: sous forme d’un couple (clé, • soit ajouter une autre étape permettant de faire
valeur) le tri final
• une étape de mélange et tri s’ensuit • Si on a plusieurs Reducers, on ne peut pas
• Mélange: sélection des piles de fiches à partir savoir lesquels traitent quelles clefs: le
des Mappers
• Tri: rangement des piles par ordre au niveau de partitionnement est aléatoire
chaque Reducer
• Chaque Reducer traite un ensemble
d’enregistrements à la fois, pour générer les
résultats finaux

ISGIS 2023-2024 Introduction au Big Data et Cloud 58 ISGIS 2023-2024 Introduction au Big Data et Cloud 59

3. Hadoop MapReduce 4. Hadoop Yarn


Démons de MapReduce
• JobTracker • YARN (Yet-Another-Resource-Negotiator)
• divise le travail sur les Mappers et • Séparation entre la gestion des ressources et la gestion des tâches Map/Reduce
Reducers, s’exécutant sur les différents • RessourceManager (RM) et un ApplicationMaster (AM)
nœuds • Le graphe acyclique dirigé (DAG) est le nœud central de gestion de chaque
• TaskTracker tâche distribuée.
• s’exécute sur chacun des nœuds pour exécuter
les vraies taches de Map-Reduce
• choisit 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 revient à un autre
tracker, qui utilisera le réseau (rare)

ISGIS 2023-2024 Introduction au Big Data et Cloud 60 ISGIS 2023-2024 Introduction au Big Data et Cloud 61

8
18/10/2023

4. Hadoop Yarn 4. Hadoop Yarn


Architecture de YARN Architecture de YARN
Le ResourceManager et le NodeManager forment le cadre de calcul des données.
• Le ResourceManager (RM):
• Arbitre les ressources entre toutes les applications du système.
• Comporte deux composants principaux : Scheduler et ApplicationsManager.
• Le NodeManager (NM):
• l'agent de structure par machine qui est responsable des conteneurs,
surveillant leur utilisation des ressources (processeur, mémoire, disque, réseau)
et en faisant rapport au ResourceManager.

ISGIS 2023-2024 Introduction au Big Data et Cloud 62 ISGIS 2023-2024 Introduction au Big Data et Cloud 63

4. Hadoop Yarn Atouts de Hadoop


Architecture de YARN
• L’ApplicationMaster (AM): • La gestion des défaillances: que ce soit au niveau du stockage ou du traitement,
• une bibliothèque spécifique au framework et est chargé de négocier les ressources du les nœuds responsables de ces opérations durant le processus de Hadoop sont
ResourceManager et de travailler avec le(s) NodeManager(s) pour exécuter et automatiquement gérés en cas de défaillance. Nous avons donc une forte tolérance
surveiller les tâches.
aux pannes.
• négocier les conteneurs de ressources appropriés à partir du planificateur, de suivre
leur statut et de surveiller les progrès. • La sécurité et la persistance des données: grâce au concept "Rack awarness", il
• Le Scheduler (planificateur): n’y a plus de soucis de perte de données.
• responsable de l'allocation des ressources aux différentes applications en cours • La montée en charge: garantie d’une montée en charge maximale.
d'exécution,
• n'effectue aucune surveillance ni aucun suivi de l'état de l'application, • La complexité réduite: capacité d’analyse et de traitement des données à grande
• n'offre aucune garantie quant au redémarrage des tâches ayant échoué, échelle.
• exécute sa fonction de planification en fonction des besoins en ressources des • Le coût réduit: Hadoop est open source, et malgré leur massivité et complexité,
applications. les données sont traités efficacement et à très faible coût.
• partitionner des ressources du cluster entre les différentes files d’attente, applications,
etc.
ISGIS 2023-2024 Introduction au Big Data et Cloud 64 ISGIS 2023-2024 Introduction au Big Data et Cloud 65

9
18/10/2023

Inconvénients de Hadoop
• Difficulté d’intégration avec d’autres systèmes informatiques: le transfert de
données d’une structure Hadoop vers des bases de données traditionnelles est loin
d’être trivial.
• Administration complexe: Hadoop utilise son propre langage. L’entreprise doit
donc développer une expertise spécifique Hadoop ou faire appel à des prestataires
extérieurs
• Traitement de données différé et temps de latence important: Hadoop n’est
pas fait pour l’analyse temps réel des données.
• Produit en développement continu (manque de maturité)

ISGIS 2023-2024 Introduction au Big Data et Cloud 66

10

Vous aimerez peut-être aussi