0% ont trouvé ce document utile (0 vote)
87 vues29 pages

Big Data

Ce document présente le framework Hadoop. Il décrit brièvement l'historique d'Hadoop et ses principaux composants de base comme HDFS, MapReduce et YARN. Il présente également quelques composants d'extension comme Hive et Spark.

Transféré par

Cedric Messina
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
87 vues29 pages

Big Data

Ce document présente le framework Hadoop. Il décrit brièvement l'historique d'Hadoop et ses principaux composants de base comme HDFS, MapReduce et YARN. Il présente également quelques composants d'extension comme Hive et Spark.

Transféré par

Cedric Messina
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

INSTITUT AFRICAIN D’INFORMATIQUE

*************
AFRICAN INSTITUTE OF COMPUTER SCIENCE

République du Cameroun
Centre d’Excellence Technologique PAUL BIYA
BP : 113719 Yaoundé, Cameroun
Tel: +237 242 729 957
Site web: www.iaicameroun.com
E-mail : [email protected]

EXPOSE DE : BIG DATA

THEME :

Présentation du Framework
HADOOP

Classe : SR3A Groupe 1

Membres du Groupe :
➢ ADJEMLO NDJOL Wilfried Dayane
➢ AMOUYE BIANDJE Gabriel Ryan

Sous la Supervision de : M. TANKOU Eddy

Année Académique 2023-2024


PRESENTATION DU FRAMEWORK HADOOP

SOMMAIRE

SOMMAIRE ........................................................................................................................................... 1

INTRODUCTION .................................................................................................................................. 2

I- HISTORIQUE D’HADOOP ........................................................................................................... 3

II- COMPOSANT DE BASE DU FRAMEWORK HADOOP ....................................................... 4

III- PRESENTATIONS DES COMPOSANT D’EXTENSIONS OPTIONNELS .......................... 12

CONCLUSION ..................................................................................................................................... 27

TABLES DES MATIERES ................................................................................................................... 28

Page | 1
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

INTRODUCTION
Le Big Data est un ensemble de données massives et complexes qui sont difficiles à gérer,
traiter, et analyser à l’aide des méthodes traditionnelles. Ces données se produisent de nos jours
à une vitesse exponentielle et deviennent difficile à traiter, c’est dans ce cadre que Hadoop (de
la fondation Apache) s’est imposé comme un Framework open source incontournable.
Aujourd’hui, Hadoop est la principale plateforme du Big Data, il est utilisé pour le stockage et
le traitement d’immense volume de données. Hadoop et ses composants sont utilisés par de
nombreuses entreprises pour leur projet Big Data. Dans la suite de notre devoir nous allons
présenter les origines d’Hadoop, ses principaux composant de base en présentant MapReduce,
HDFS et YARN et enfin nous allons présenter quelques composants optionnels d’Hadoop.

Page | 2
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

I- HISTORIQUE D’HADOOP
Hadoop est aujourd’hui une plateforme indispensable dans le domaine du Big Data. On
peut bien se poser la question de comment on a fait pour en arriver là ?

Pour répondre à cette question il est nécessaire de savoir qu’en 1997 Doug CUTTING
informaticien Américain a commencé à développer une librairie en Java permettant
d’effectuer des recherches dans du texte et d’indexer des mots clés, il s’agit du projet
Lucene. Ce projet intègre la fondation Apache au début des années 2000.

Figure 1: Projet Lucene

Puis avec l’aide de Mike CAFARELLA, Ils développent le projet Nutch permettant cette fois
d’indexer les pages web à l’aide de la librairie Lucene. Malgré l’ajout des serveurs, Nutch
n’était pas à mesure de répondre à l’explosion du nombre de page web. Le besoin d’avoir un
système capable de supporter les pannes de serveurs sans incidence sur la recherche et
l’indexation, de distribuer les traitements dynamiquement sur d’autre serveurs, de supporter la
perte de données d’un disque dur ; Au même moment en 2003 Google publie les résultats de
ses recherches sur la gestion de système de fichier distribué (GFS : Google file System) pour
leur propre besoin.

Doug CUTTING et Mike CAFARELLA utilisent cette solution pour répondre à la


problématique de la tolérance au panne matériel des serveurs et de la montée en charge du
nombre de serveurs pour répondre au besoin toujours plus important de puissance : Le NDFS
(Nutch Distributed File System) voit ainsi le jour.

Figure 2: Projet Nutch

Page | 3
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

A partir d’un autre document de recherche édité par Google sur le traitement de donnée sur des
clusters de serveurs (MapReduce), les deux informaticiens transforment NDFS en HDFS pour
Hadoop Distributed File System. Pour la petite histoire, Hadoop était le nom de la peluche du
fils de CUTTING.

Figure 3: NDFS à HDFS

II- COMPOSANT DE BASE DU FRAMEWORK


HADOOP
L’écosystème Hadoop s’est enrichit au fur des années et de ses versions. Il est sorti dans
une première version 0.1.0 en 2006, c’est seulement en 2012 que la version 1.0 est livré
commercialement. Dans cette version le cœur d’Hadoop est constitué de deux composants.

- HDFS : pour le stockage des données ;


- MapReduce : Pour la gestion des ressources du cluster Hadoop et la gestion des
traitements sur les données.

Figure 4: Hadoop 1.0 de 2012

Page | 4
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

En 2013 la version Hadoop 2.0 est livrée, la principale différence concerne la mise en
place du composant YARN qui prend en charge la gestion des ressources du cluster. Cela
permet ainsi au composant MapReduce de conserver uniquement sa valeur principale à savoir
la gestion des traitements sur les données du cluster mais aussi cela ouvre les perspectives
d’autre moteur de traitement.

La version Hadoop 3.0 livrée en 2018 apporte des modifications substantielles mais sans
révolution au niveau de l’architecture des composants.

Figure 5: Hadoop 3.0

Dans la section suivante nous allons présenter chaque composant de base du framework
Hadoop.

1- Présentation du système de fichier HDFS


Le système de fichier distribué d’Hadoop (HDFS) est une implémentation du GFS
(Google File System) le système de fichier distribué crée par Google. HDFS est donc installer
sur un cluster Hadoop pour gérer le stockage distribué des données sur les nœuds du cluster.
La multiplication des serveurs classiques dans un cluster Hadoop correspond à une scalabilité
horizontale. En effet les données sont copiées dans plusieurs serveurs ce qui permet au cluster
Hadoop au niveau HDFS d’être tolérant aux pannes pouvant survenir sur les serveurs. Le
système continue ainsi de fonctionner si un serveur tombe en panne car HDFS le détecte
automatiquement.

Page | 5
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

Figure 6: Copie HDFS

Lors de l’envoie d’un fichier sur HDFS celui-ci est découpé en bloc et dupliqué selon un
facteur de réplication de 3 (par défaut). Un bloc fait par défaut 128 Mo de donnée quel que
soit la taille du fichier. Si on envoie par exemple un fichier de 10 Mo il occupera donc par
défaut 128 x 3 Mo soit 384 Mo sur votre cluster. Il est donc essentiel de rappeler que HDFS a
été créé pour gérer des fichiers très important en termes de volume, d’où le découpage qui est
beaucoup plus important par rapport au système de fichier Windows, linux ou Mac. Il existe
donc 3 occurrences de fichier par défaut, leur emplacement est géré par le serveur maître du
cluster HDFS : Le NameNode. Sa fonction est de gérer l’emplacement de tous les fichiers,
de tous les blocs, de toutes les réplications de bloc au niveau de la globalité du cluster, il
gère les métadonnées du cluster. Le NameNode est donc le cerveau du HDFS, il est unique
et donc très sensible. Plusieurs mécanisme existe pour assurer sa résilience comme par
exemple sauvegarder des métadonnées régulièrement, ajouter un second NameNode ou mettre
en place une fédération HDFS. Les données sous formes de bloc de 128 Mo sont stockées sur
des DataNodes, ils correspondent au système de stockage des serveurs, des disques durs ou
des systèmes SSD. HDFS a donc conscience de l’emplacement exacte des fichiers et de leur
découpage en bloc sur chaque serveur : ceci constitue un avantage indéniable pour l’exécution
de MapReduce.

Page | 6
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

Figure 8: HDFS Architecture

2- Présentation du Modèle de calcul MapReduce


Un autre composant de base du cœur Hadoop est l’algorithme de Google MapReduce, qui est
implémenté dans la version 1.0 du Framework Hadoop. La fonction principale de
MapReduce est de gérer les ressources et à guider le processus de calcul. Il est donc utilisé
Pour traiter en parallèle les volumes importants de données. Le travail des données repose sur
les phases Map et Reduce qui permettent au fichier d’être travaillés directement où ils sont
stockés. Cela accélère le temps de calcul et minimise la consommation excessive de la bande
passante du réseau.

Dans le cadre de la phase du Map, les données initiales sont scindées en plusieurs lots,
chaque lot de donnée est affecté à un serveur et le traitement est appliqué.
Cependant au cours de la Reduce, on agrège les résultats des traitements de chaque
serveur.

Prenons un exemple palpable. Soit le tableau ci-dessous :

On Souhaite calculer le nombre total de


Naissances Pour chaque prénom
Imaginez que ce tableau à plus de
1 000 000 de lignes !!

Page | 7
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

Dans la 1ère étape le Map va se charger de scinder les données en plusieurs lots et chaque lot
est affecté à un serveur et le traitement sera appliqué comme illustré sur les figure ci-dessous :

Figure 10: segmentation des données en plusieurs lots

Figure 11: Traitement

Les données traitées sont stockées sous forme clé/valeur comme illustré sur la figure ci-
dessous :
Page | 8
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

Figure 12: Donnée stockée sous forme Clé/valeur

Reduce vient maintenant agréger les résultats des traitements de chaque serveur et
produire un résultat global comme illustré sur l’image ci-dessous :

Figure 13: Résultat final

Page | 9
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

3- Présentation du gestionnaire de ressources YARN


Avec l’introduction de YARN ( Yet Another Resource Negotiator ) à partir de la version
2, l’architecture de Hadoop a été fortement modifiée. C’est pourquoi on évoque un passage de
Hadoop 1 à Hadoop 2. Tandis que les utilisateurs de Hadoop 1 ont eu à disposition uniquement
MapReduce en tant qu’application, le couplage au gestionnaire des ressources et des tâches du
modèle de manipulation de données a permis d’intégrer de nombreuses applications pour le
Big Data dans le Framework. Sous Hadoop 2, MapReduce n’est qu’une des multiples
possibilités de traitements des données possibles du Framework. YARN adopte le rôle d’un
système opérationnel réparti pour la gestion de ressources pour les applications Hadoop Big
Data.

Figure 14: Architecture Hadoop 1 et Hadoop 2

Les Modifications de base à l’architecture de Hadoop concernant avant tout les deux
trackets du MapReduce-Engine, qui n’existent plus en tant que composant unique dans la
version 2 de Hadoop. A la place, le module YARN possède trois nouvelles entités : le
ResourceManager, le NodeManager et l’Application Master.

YARN est donc un gestionnaire de ressources utilisé dans le framework Hadoop pour la
gestion des ressources de calcul sur un cluster de machines. Il est conçu pour permettre
l’exécution de diverses applications de traitement de données, y compris MapReduce.

Selon l’architecture ci-dessous de YARN on a :

Page | 10
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

❖ Le Resource Manager : est le composant central de YARN. Il est responsable de la


gestion des ressources de calcul sur l’ensemble du cluster ; Il reçoit les demandes des
applications pour l’allocation de ressources et coordonne la répartition des ressources
disponibles ; Il surveille également l’état des applications et des nœuds dans le cluster.
❖ Application Master : est un composant spécifique à une application qui est
responsable de la gestion de l’exécution de cette application sur le cluster ; Lorsqu’une
application est soumise, YARN alloue des ressources à l’application Master associé à cette
application ; L’application Master communique avec le Resource Manager pour négocier les
ressources nécessaires et gérer les tâches de manière efficace.
❖ Le Node Manager : s’exécute sur chaque nœud du cluster et est responsable de la
gestion des ressources sur ce nœud spécifique ; Il communique avec le Resource manager pour
signaler l’état du nœud et les ressources disponibles ; Il lance et surveille les conteneurs, qui
sont des environnements d’exécution isolé pour les applications.
❖ Les Container : est une unité d’allocation de ressources dans YARN. Il représente un
environnement isolé dans lequel une tâche ou une instance d’application spécifique s’exécute ;
Les conteneurs sont gérés par le Node Manager et peuvent être alloués et libérés
dynamiquement en fonction des besoins de l’application.

Ces différents composant sont représentés sur l’image ci-dessous :

Figure 15: Architecture YARN

Page | 11
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

On peut donc prendre l’exemple des applications comme MapReduce, Spark ou TEZ :

Figure 16: Exemple d'exécution d'un client YARN

III- PRESENTATIONS DES COMPOSANT


D’EXTENSIONS OPTIONNELS

L’écosystème Hadoop a longtemps évolué depuis sa première version 0.1 en 2006, sa dernière
version est la 3.3 de 2020. Au cœur d’Hadoop les 3 composants Principaux sont HDFS,
MapReduce, Yarn. De très nombreux autres projets sont associés à Hadoop et gérés aussi au
travers de la fondation Apache. Il existe d’autres produits non gérés par Apache mais qui sont
généralement utilisés au travers de la plateforme Hadoop, ils peuvent donc être associés au
projet Apache considérant qu’ils font partis de l’écosystème Hadoop. Les quatres types d’outils
gravitant autour du cœur d’Hadoop sont :

- Les logiciels de base de données

- Les logiciels de programmation Hadoop

- Les logiciels permettant de gérer les données en temps réel

- Les logiciels ayant pour fonction de gérer le cluster Hadoop (Management)

Page | 12
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

Figure 17: Ecosystème Hadoop

1- Logiciel de base de données


a- Hive
Hive est à l’origine un projet interne de Facebook qui a ensuite été transféré à la fondation
Apache. L’objectif était de fournir aux analystes de Facebook un produit permettant d’effectuer
des requêtes de type SQL sur des pétaoctets de donnée. Hive est très fortement orienté pour des
utilisateurs qui maîtrisent le SQL, mais Hive n’est pas une base de données car il ne stocke
rien. Il offre simplement une vue logique de donnée stockée dans HDFS et interrogeable via le
langage hiveQL.

Figure 18: Hive

C’est un outil de Data Warehouse ou entrepôt de données permettant de manipuler un


très grand volume de données. Hive dispose d’une interface en ligne de commande et une
interface graphique Web. Hive maintient dans une base de données relationnelle les
métadonnées d’accès aux données dans HDFS. Les Métadonnées sont de type table, partition,
colonne, schéma. Elles représentent la structure de données HDFS vu au travers de Hive.

Page | 13
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

Figure 19: Fonctionnement Hive

b- MySQL
MySQL est une base de données relationnelle indépendante d’Hadoop, crée par Michael
WIDENIEUS, elle est très présente dans la gestion des sites web via la plateforme technique
LAMP. Sa version actuelle est la version 8. Dans cette version Mysql enrichit sa fonction
Document Store. Elle sert à ajouter des fonctionnalité NoSQL à MySQL. Ainsi les
développeurs peuvent mélanger et associer des données relationnelles et des documents JSON
dans la même base de données et dans la même application. Par exemple les deux modèles de
donnée peuvent être interrogés dans la même application et les résultats peuvent être
formatable, tabulaire ou JSON

Figure 20: Document store MySQL

Page | 14
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

c- SQOOP

SQOOP est un composant logiciel qui structure l’import et l’export d’importantes quantités
de données du Big Data du Framework Hadoop.

En règle générale les données sont stockées dans les bases de données relationnelles par les
entreprises de nos jours. Sqoop permet un échange efficace entre les systèmes de stockages et
les clusters d’ordinateurs

Figure 21: import/export avec Sqoop

Page | 15
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

d- Cassandra
Cassandra est une base de données non relationnelle spécifiquement conçu pour gérer de
grand volume de données en assurant une haute disponibilité
e- MongoDB
MongoDB est une base de données dont le stockage est orienté document
f- HBASE
HBASE Est une base de données non relationnelle et distribué stockant les données en
colonne et non en ligne. Elle permet en temps réel d’exécuter les accès en lecture et en écriture
de grandes quantités de données au sein d’un cluster d’ordinateurs. HBase se base sur BigTable
de Google, un système très performant de bases de données. Comparé à d’autres bases de
données NoSQL, HBase se démarque par une cohérence des données hors norme

MongoDB et HBase contrairement à Cassandra possèdent une architecture distribuée de type


Maître/ Esclave.

2- Logiciel de Programmation Hadoop


a- Pig
A l’origine de Hadoop les traitements MapReduce étaient programmés exclusivement en
Java. Au fur et à mesure de l’utilisation de Hadoop par une population de plus en plus large des
besoins croissants de manipulation directe des données d’Hadoop ont conduis à la création de
Pig. Pig permet de simplifier grandement l’écriture de traitement MapReduce par rapport à
Page | 16
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

JAVA. Pour l’écriture de programme d’analyse de donnée, PIG fournit un langage de haut
niveau (le PIG Latin). Ce langage est une de SQL, facile à apprendre pour ceux qui sont déjà
familier avec le SQL. Néanmoins quelques différences existent, Pig est un langage procédural,
pas besoin de schéma de base pour manipuler les données en PIG Latin, il y a peu de possibilité
pour optimiser le code PIG Latin pour le rendre plus performant.

Au niveau architecture, le script PIG Latin est exécuté par le serveur Pig après les phases de
Parsing, d’optimisation et de compilation le traitement est envoyé au moteur. Par défaut il va
être transformé en un process MapReduce mais il peut aussi s’exécuter sur le moteur SPARK
ou TEZ, les phases suivantes sont les classiques phases de YARN pour la gestion des ressources
du cluster et HDFS pour la partie stockage des données.

Figure 22: Architecture de PIG

A l’instar de Hive, Pig ne stocke pas les données mais offre un langage de manipulation des
données.

b- SPARK
Conçu en 2009 par un étudiant Canadien Matei ZAHARIA, SPARK est un logiciel dont
l’objectif était de créer un modèle de calcul distribué pour accélérer les traitements effectuer
par Hadoop, donc pour concurrencer directement MapReduce. Le projet a été transféré à la
fondation Apache en 2013 et plus de 1000 contributeurs le font évoluer depuis. Il a été conçu
Page | 17
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

pour fonctionner sur un cluster de serveur. Il s’appuie sur les Ressources Manager (YARN,
Mesos, Kubernetes, Spark standalone) pour acquérir de la puissance de calcul. Les données
que Spark va manipuler réside dans HDFS, peuvent aussi être stockées dans d’autres systèmes
de fichier comme Amazon S3 ou Azure Blob Storage. Apache Spark est composé de plusieurs
modules, de plusieurs librairies comme Spark SQL, Spark Streaming, Spark MLlib et Spark
GraphX.

Figure 23: Architecture Spark

- Spark SQL : permet d’exécuter des requêtes SQL sur les jeux de données de Spark
appelé Datasets ; Intégration des requêtes SQL dans les programmes : les langages
supportés par Spark sont Java, Scala, Python ; Les Requêtes SQL sur des fichiers JSON,
Parquet, des tables accédées via JDBC, ainsi que des tables Hive.

- Spark Streaming : est la composante de traitement en temps réel de Spark. Il est en


mesure de traiter des flux de données entrant que ce soit des messages provenant
d’apache Kafka, des données de fichier log venant de Flume, les données venant de
Hadoop lui-même, des flux vidéo collecté par Amazon Kinesis, des messages venant
de Twitter. En sortie des données traitées par Spart Streaming, les données sont
envoyées vers n’importe quel type de composant (base de données, cluster HDFS, ou
autre logiciel).
Page | 18
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

Figure 24: Spark Streaming

- Spark MLlib : est une librairie de Spark spécialisé dans le Machine Learning
(apprentissage automatique).

Figure 25: Machine Learning

- Spark GraphX : est une API qui permet de développer des applications afin de lier les
données sous forme de graphes, les données étant dans le cluster HDFS (cluster
Hadoop).

Figure 26: GraphX

Page | 19
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

3- Logiciel de gestion en temps réel


Le traitement en temps réel se défini comme le traitement d’un flux non borné de donnée
d’entrée avec des critères de latence très strictes. Les données en entrée arrivent avec un format
non structuré ou semi structuré, elles transitent au travers d’un pipeline d’ingestion, elles sont
ensuite immédiatement traitées puis écrites dans un service de stockage analytique pour être
analysé, faire l’objet d’un rapport ou permettre un enrichissement d’un modèle de machine
Learning par exemple.

Figure 27: Traitement en temps réel

Une architecture de traitement en temps réel a donc 4 composants :

Figure 28: Composants d'architecture de traitement en temps réel


Page | 20
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

a- Kafka
C’est une plateforme de streaming distribuée, initialement développée par LinkedIn et
maintenant maintenue par la fondation Apache. Elle est conçue pour la gestion et le
traitement de flux de données en temps réel à grande échelle.
Kafka est composé de :
Broker : est un serveur ou un nœud dans le cluster Kafka. Il gère le stockage et la
réplication des données (appelées messages) qui sont publiées et consommées par les
producteurs et les consommateurs.
Topic : est une catégorie ou un flux de messages dans Kafka. Les producteurs envoient
des messages à un topic spécifique, tandis que les consommateurs lisent les messages
à partir de ce topic. Les topics peuvent être divisés en partitions pour permettre une
distribution parallèle des données.
Producteur : est une application ou un processus qui envoie des messages à un ou
plusieurs topics Kafka. Les producteurs publient les messages dans les partitions
spécifiques des topics.
Consommateur : est une application ou un processus qui lit les messages à partir des
topics Kafka. Les consommateurs s’abonnent à un ou plusieurs topics et consomment
les messages à mesure qu’ils sont publiés.

Ainsi on a la figure ci-dessous :

Figure 29: Architecture Kafka


Page | 21
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

b- Flume
Flume est un système de collecte de données distribué et fiable, développé par la fondation
Apache. Il est conçu pour l’ingestion efficace de donnée à partir de diverses sources et leur
transfert vers un système de stockage centralisé, généralement Hadoop HDFS.

Quelques composants revenant dans l’architecture Flume sont :

- Agent : est une instance d’exécution qui collecte, transfère et stocke les données.
Chaque agent Flume est responsable d’une partie spécifique du flux de donnée.
- Source : est le point d’entrée des données dans Flume. Elle représente la source de
donnée à collecter, telle qu’un fichier de journal, un flux de données réseau, une base de
données, etc.
- Canal : est un tampon intermédiaire dans Flume qui stocke temporairement les données
collectées avant de les transmettre à la destination finale.
- Intercepteur : est un composant facultatif dans Flume qui permet de manipuler les
évènements de données en transit. Il peut effectuer des opérations de transformations, de
filtrage ou d’enrichissement des données.
- Cible : c’est la destination finale des données dans Flume ( HDFS, base de donnée… )

La figure ci-dessous illustre ces composant :

Figure 30: Architecture Flume

Page | 22
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

c- STORM
Storm est un système de traitement de flux de données en temps réel, distribué et scalable,
développé par Twitter. Il est conçu pour le traitement de donnée en continu à grande vitesse
avec une faible latence.

Les éléments clés associées à Storm sont :

- Topology : est le principal concept de programmation dans Storm. C’est un graphe


dirigé acyclique qui représente le flux de données et le traitement à effectuer sur ces
données.
- Spout : est la source de données dans une topologie Storm. Il est responsable de la
lecture des données à partir des sources externes (file d’attente, base de données) et de
l’émission de ces données dans la topologie
- Bolt : est un composant de traitement dans une topologie Storm. Il reçoit les données
émises par les spouts ou d’autres bolts, effectue des opérations.
- Tuple : est une unité de donnée dans Storm. Il représente une entrée ou une sortie d’un
spout ou d’un bolt. Les tuples peuvent contenir un ou plusieurs champs de donnée.

Figure 31: Structuration Storm

4- Logiciel ayant pour fonction de gérer le cluster Hadoop


(Management)

a- OOZIE

Oozie a été développé par Yahoo. Il a pour objectif de planifier et lancer l’exécution des
tâches de traitement sur un cluster Hadoop. Ainsi comme l’illustre la figure ci-dessous, un
Workflow (regroupement logique de tâche) est programmé en fonction d’une heure ou d’un
déclencheur grâce au Coordinateur.

Page | 23
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

L’outil OOZIE a donc une triple fonction :

- Implémente une suite logique des tâches dans un workflow.


- Définie la logique de coordination de workflow
- Gère un état global de l’ensemble des traitements au travers du bundle

Figure 32: Fonctionnement OOZIE

b- MESOS

Mesos est un système de gestion de clusters open source développé par Apache Software
Foundation. Il fournit une plateforme pour le déploiement et la gestion de ressources
informatiques distribuées, telles que des serveurs, des conteneurs et des applications, à grande
échelle.

Le concept clé de Mesos est celui de "schedulable resources" (ressources planifiables). Il


permet aux utilisateurs de définir des ressources, comme des CPU, de la mémoire, du stockage,
etc., disponibles dans un cluster Mesos, ainsi que des politiques de planification pour allouer
ces ressources aux applications.

Voici quelques concepts importants liés à Mesos :

❖ Master : Le nœud maître (master) est responsable de la gestion des ressources de calcul
dans le cluster Mesos. Il est chargé de la planification des tâches et de la gestion des ressources
disponibles.
❖ Agent : Un agent, également appelé esclave (slave), est un nœud dans le cluster Mesos
qui offre des ressources informatiques, telles que CPU, mémoire et stockage, à l'environnement
Mesos.

Page | 24
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

❖ Framework : est une entité logicielle qui s'exécute sur Mesos et utilise ses ressources
pour exécuter des tâches. Les Framework peuvent être des systèmes distribués, des applications
de calcul intensif, des services en temps réel, etc.
❖ Scheduler : est une partie d'un Framework qui décide comment allouer les ressources
disponibles aux tâches du Framework. Il communique avec le nœud maître pour obtenir des
ressources et les attribuer aux tâches.
❖ Task: est une unité de travail exécutée par un Framework sur Mesos. Une tâche peut
être une application, un processus, un conteneur, etc.

Figure 33: Architecture Mésos

c- Zookeeper

Zookeeper est un service centralisé permettant de gérer les informations de


chaque composant Hadoop, les dénominations et les rôles de chaque serveur, la
synchronisation entre les différents services exécutés sur le cluster Hadoop. Zoo
représente l’ensemble des composants Hadoop, Zookeeper est donc chargé de
faire en sorte que les autres composants doivent fonctionner de manière optimale.
Zookeeper est une application distribuée, la partie serveur est constitué de n
serveurs distribués, leur regroupement est appelé ensemble Zookeeper. Les

Page | 25
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

clients sont des nœuds qui consomment les services fournis par l’ensemble
ZooKeeper.

Figure 34: Structure Zookeeper

Page | 26
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

CONCLUSION
En conclusion, Hadoop est un Framework puissant et largement utilisé dans le domaine
du Big Data. Il offre des solutions pour le stockage et le traitement distribué des données à
grande échelle. Grâce à son système de fichier HDFS et son modèle de traitement par lots
MapReduce, Hadoop permet de gérer efficacement les ensembles de données massifs. Son
écosystème riche offre de nombreuses possibilités d'analyse et de traitement avancés. Avec
l'essor continu du Big Data, Hadoop joue un rôle essentiel dans l'industrie en permettant aux
entreprises de tirer parti de leurs données pour prendre des décisions stratégiques éclairées. En
explorant les composants, le système de fichier HDFS, le mode de calcul, et l'écosystème de
Hadoop, nous avons pu comprendre l'architecture et les fonctionnalités clés de ce Framework.
Il est clair que Hadoop continue d'évoluer et de s'adapter aux défis du Big Data, ce qui en fait
une technologie essentielle pour les entreprises et les chercheurs dans le domaine de l'analyse
des données massives.

Page | 27
Rédiger et présenter par le GROUPE I
PRESENTATION DU FRAMEWORK HADOOP

TABLES DES MATIERES


SOMMAIRE ........................................................................................................................................... 1

INTRODUCTION .................................................................................................................................. 2

I-HISTORIQUE D’HADOOP ................................................................................................................ 3

II-COMPOSANT DE BASE DU FRAMEWORK HADOOP ............................................................... 4

1- Présentation du système de fichier HDFS................................................................................... 5


2- Présentation du Modèle de calcul MapReduce ........................................................................... 7
3- Présentation du gestionnaire de ressources YARN ................................................................... 10
III-PRESENTATIONS DES COMPOSANT D’EXTENSIONS OPTIONNELS................................. 12

1- Logiciel de base de données...................................................................................................... 13


2- Logiciel de Programmation Hadoop ......................................................................................... 16
3- Logiciel de gestion en temps réel .............................................................................................. 20
4- Logiciel ayant pour fonction de gérer le cluster Hadoop (Management).................................. 23
CONCLUSION ..................................................................................................................................... 27

TABLES DES MATIERES ................................................................................................................... 28

Page | 28
Rédiger et présenter par le GROUPE I

Vous aimerez peut-être aussi