INTRODUCTION AU BIG DATA
Tutrice : Dr Abir KHALDI 2021-2022
Chapitre 2
Chapitre 4 : YARN
Problématique
Le job tracker a une double responsabilité : Il doit gérer les ressources du cluster. Il doit ordonnancer les jobs.
Publicité
Que se passe-t-il si le Job tracker est défaillant ?
Solution
L'architecture d'Hadoop a été modifiée (version 2.x) pour introduire YARN : Yet Another Ressource Negociator
YARN : un framework permettant d'exécuter n'importe quel type d'application distribuée sur un cluster Hadoop, pas uniquement les applications MapReduce.
YARN propose de : Séparer la gestion des ressources du cluster et la gestion des jobs MapReduce Considérer que les nœuds ont des ressources (mémoire et CPU) qui seront allouées aux applications quand elles le demandent.
Dans YARN, les fonctionnalités du job tracker sont :
Publicité
Le resource manager : le chef d'orchestre des ressources du cluster. Il ordonnance les requêtes clients et pilote le cluster par l'intermédiaire de node managers qui s'exécutent sur chaque nœud de calcul. Il a donc pour rôle de contrôler toutes les ressources du cluster et l'état des machines qui le constituent L' application master (AM) qui est un processus s'exécutant sur toutes les machines esclaves et qui gère, en discussion avec le ressource manager, les ressources nécessaires au travail soumis.
Dans YARN, les fonctionnalités du task tracker sont : Des containers qui sont des abstractions de ressources sur un nœud dédiées soit à l'exécution de tâches comme Map et Reduce, soit à l'exécution d'un application master . Un node manager qui héberge des containers et gére donc les ressources du nœud. Il est en communication via un heartbeat avec le ressource manager.
Schéma simplifié de l'exécution d'un travail dans Hadoop 2.X avec YARN.
Schéma simplifié de l'exécution d'un travail dans Hadoop 2.X avec YARN.
- Un client hadoop copie ses données sur HDFS.
- Le client soumet le travail à effectuer au ressource manager sous la forme d'une archive.jar et des noms des fichiers d'entrée et de sortie.
- Le ressource manager alloue alors un container pour l' application master sur un node
manager .
Publicité
- L' application master demande au ressource manager un ou plusieurs containers avec des préférences de localisation dépendant de la localité des données d'entrée du travail.
- Le resource manager alloue alors un ou plusieurs containers (child) à l' application master .
- L' application master choisit parmi la liste des tâches (par exemple Map et Reduce) et demarre une instance de la tâche choisie dans un des containers qui lui a été alloué. Il collabore alors avec le node manager pour utiliser les ressources acquises. Il communique aussi souvent avec le resource manager (message heartbeat ) pour la tolérance aux pannes.
Les avantages de YARN ne se limite plus à MapReduce et avec ce principe, de nombreuses applications peuvent s'exécuter, de manière native, sur un même cluster Hadoop parmi lesquelles : Spark : une solution pour le traitement et l'analyse de données massives . Giraph: une solution pour faire des calculs sur graphes. HBase : une base de données NoSQL reposant sur HDFS. Tez : un cadre pour l'écriture et l'exécution de traitements modélisés sous la forme de g ra p hes.