Parallélisation d'algorithmes de graphes avec MapReduce sur un cluster d'ordi...
Présentation_HADOOP.pptx
1. HADOOP
1) HADOOP, le logiciel de traitement distribué ……………………..
2) Mécanisme de l’infrastructure Hadoop …………………………….
3) Les modules de l’écosystème Hadoop ……….……………………..
4) Le module HDFS ……………………………………………………………….
5) Principe de fonctionnement de l’HDFS ……………………………..
6) Le module YARN et ses composants ………………………………….
7) Principe de fonctionnement du YARN ……………………………….
8) Le module MapReduce …………………………………………………….
9) Fonctionnement de MapReduce ………………………………………
10) Mise en place du logiciel Hadoop …………………………………….
2. HADOOP, le logiciel de traitement distribué
C’est une infrastructure permettant le stockage et le traitement distribué de larges
volumes de données sur des grappes d’ordinateurs. Ce concept, apparu en 2005, est
encore utilisé jusqu’à nos jours.
Objectif : Traitement massif et intensif sur les données susceptible d’évoluer vers le
Machine Learning, Data mining, Graph mining, etc.
Exemple de cas d’utilisation :
- Analyse des données de réseaux sociaux (parcours client, personnalité).
- Prédictions de pannes.
- Prédictions de fraudes.
Exemple d’entreprises utilisant Hadoop : Netflix, Twitter, Amazon, Yahoo.
3. Mécanisme de l’infrastructure Hadoop
L’infrastructure Hadoop est basée sur :
- l’utilisation des nœuds,
- Le raisonnement « La panne est la règle »,
- un système de fichiers HDFS,
- la sécurisation des données (3 réplications par défaut).
Il s’agit d’un modèle de découpage, segmentation, répartition et exécution de tâches.
Le système Hadoop segmente les fichiers en plusieurs blocs et les distribue à travers
les noeuds de l’infrastructure.
Chaque nœud traite les données qui lui sont attribuées et communique à l’aide de
flags et statuts entre les équipements.
4. Les modules dans l’écosystème HADOOP
Les différents modules sont :
1) Hadoop COMMON (librairies, sources, outils de base, docs).
2) HDFS (Hadoop Distributed File System), un système de gestion des
fichiers optimisé pour stocker les gros fichiers.
3) Hadoop YARN (Yet Another Resource Negotiator), un système de
gestion de ressources.
4) Hadoop MapReduce (large scale data processing).
On retrouve le même principe de segmentation/distribution dans
chacun des modules.
5. Le module HFDS :
L’architecture des machines HADOOP
DATANODES
NAMENODE
6. Principe de fonctionnement de l’HDFS
• Si le namenode principal tombe en panne, les datanodes
n’arrivent plus à joindre le namenode principal, les demandes
sont alors envoyées au namenode secondaire.
• Dans ce cas, le namenode secondaire gère alors toutes les
interactions avec le cluster à la place du primaire.
• Et ainsi de suite.
1) Le namenode assure un rôle de « Job tracker ». Il gère les
ressources du cluster et le scheduling des tâches.
2) Le datanode assure un rôle de « Task tracker ». Il affecte un
agent par nœud et gère les tâches effectives du noeud.
3) En configuration de base, il y a 3 réplications par défaut.
7. Le module YARN et ses composants
Hadoop YARN gère les ressources de l’application et les priorités. Il
s’occupe de l’allocation des ressources mémoire, du temps CPU, du réseau
pour chaque application lancée dans Hadoop.
Ses principaux composants sont :
Resource Manager (RM) : il gère l’ensemble des ressources des machines.
Node Manager (NM) : il gère les ressources par machine, reporte les
informations au RM.
Application Master (AM) : il gère les ressources pour une application et
négocie des ressources au RM.
8. Principe de fonctionnement du YARN
1) Un client indique une solution logicielle à exécuter.
2) Le RM(serveur maitre) lance un thread Application Master à travers un NM.
3) L’AM négocie des conteneurs pour l’exécution de la solution logicielle avec
le RM (dockering).
4) Le RM contacte les nodes managers un par un, dans un ordre prédéfini. Les
NM informent le RM de la disponibilité des ressources et de la liste des
conteneurs pouvant être utilisés.
5) Le RM alloue des ressources et indique l’identité de ces ressources à l’AM.
6) Le NM informe continuellement l’application Master des statuts en cours.
9. Le module MapReduce
MapReduce est un outil de traitement de données à grande échelle.
• Il est, par exemple, exploité par Google pour traiter plusieurs
centaines de teraoctets par jour.
• Il maintient une segmentation la moins linéaire possible et
indépendante du volume de données. Exemple d’un discours et/ou
d’un vote lors d’un séminaire.
• C’est un ensemble de modules qui stocke et traite en parallèle des
segments de données plus efficacement.
• Il est un modèle simple de programmation avec un schéma défini.
10. Fonctionnement de MapReduce
Déroulement des étapes dans la mise en œuvre de MapReduce :
•LIRE et Extraire des données pertinentes des enregistrements/discours.
•MAP c’est-à-dire Ventiler et trier les données pertinentes (Clé-Valeur).
•REDUCE via des process Agréger, résumer, filtrer et transformer.
•AFFICHER le résultat sous forme de valeurs explicites (histogrammes).
Exemple d’application : Compteur d’occurrence des mots dans un fichier.
- Splitter en phrases,
- Ventiler en plusieurs mots,
- Réduire les mots identiques,
- Afficher sous forme de dictionnaire.
11. Mise en place de Hadoop
L’écosystème Hadoop peut être installé en local, sur des VM ou sur des clusters.
Dans le cas d’une configuration en local,
• Télécharger le fichier zip Hadoop sur le site http://hadoop.apache.org/releases.html
• Editer etc/hadoop/hadoop-env.sh et préciser la localisation de l’exécutable java :
JAVA_HOME.
• Lancer « hadoop » qui se trouve dans le répertoire bin/hadoop.
Utiliser la commande « hadoop » et visualiser la réponse.
Enfin, il y a 14 catégories d’outils qui servent à travailler dans l’écosystème Hadoop et
aussi plusieurs livres qui traitent des outils comme HIVE, PIG, HBASE, Spark, etc.