yarn hadoop

YARN : tout savoir sur le gestionnaire de ressources d’Apache Hadoop

YARN est l'un des principaux composants de . Il permet de gérer les ressources du système et de planifier les tâches. Découvrez sa définition, son utilité, ses fonctionnalités et ses différents composants. 

Au sein du framework de processing distribué open source Apache Hadoop, YARN compte parmi les principaux composants. Cette technologie de gestion des ressources et de planification de tâches a pour rôle d'allouer les ressources du système aux différentes applications exécutées dans un cluster Hadoop. Elle sert aussi à planifier l'exécution des tâches sur différentes grappes de clusters.

YARN : qu'est-ce que c'est ?

Les initiales YARN désignent le terme  » Yet Another Resource Negotiator « , un nom donné avec humour par les développeurs. Cette technologie est devenue un sous-projet de Apache Hadoop en 2012, et a été ajoutée comme une fonctionnalité clé de Hadoop avec la mise à jour 2.0 déployée en 2013.

Avant l'ajout de YARN, Hadoop ne pouvait exécuter que des applications MapReduce. YARN a donc beaucoup augmenté les cas d'usage potentiels du framework. En découplant la gestion des ressources et la planification du composant de traitement de données de MapReduce, YARN a également permis à Hadoop de prendre en charge davantage d'applications et de types de traitement différents.

Par exemple, les clusters Hadoop sont maintenant en mesure de lancer des applications d'analyse en temps réel, de streaming data et requêtes interactives sur Apache tout en laissant tourner MapReduce.

YARN : quelles sont les fonctionnalités ?

YARN combine un gestionnaire de ressources centrale avec des containers, des coordinateurs d'application et des agents chargés de surveiller les opérations de traitement des différents noeuds de clusters. YARN est en mesure d'allouer les ressources aux applications de façon dynamique en fonction de leurs besoins.

Ce composant d'Hadoop propose par ailleurs plusieurs méthodes de planification : FIFO Scheduler, Fair Scheduler, ou encore Capacity Scheduler. En outre, la fonctionnalité Reservation System permet aux utilisateurs de réserver des ressources de cluster en avance afin de s'assurer que les tâches de traitement importantes soient exécutées sans encombre.

Une autre fonctionnalité notable, ajoutée avec Hadoop 3.0, est YARN Federation. Celle-ci permet d'augmenter le nombre de noeuds qu'une seule implémentation de YARN peut prendre en charge en connectant différents  » subclusters  » équipés de leurs propres managers de ressources.

Quels sont les principaux composants de YARN ?

yarn hadoop composants

YARN est constitué de plusieurs composants principaux. Le gestionnaire de ressources global (ResourceManager) a pour rôle d'accepter les tâches soumises par les utilisateurs, de programmer les tâches et de leur allouer des ressources.

Sur chaque noeud, on retrouve un NodeManager dont le rôle de surveiller et de rapporter au ResourceManager. On retrouve par ailleurs un ApplicationMaster, créé pour chaque application, chargé de négocier les ressources et de travailler conjointement avec le NodeManager pour exécuter et surveiller les tâches.

Enfin, les containers de ressources sont contrôlés par les NodeManagers et assigne les ressources allouées aux applications individuelles. Généralement, les containers YARN sont organisés en noeuds et programmés pour exécuter des tâches uniquement si des ressources sont disponibles pour ce faire. Sous Hadoop 3.0, il est toutefois possible de créer des  » containers opportunistes  » pouvant être placés en attente jusqu'à ce que des ressources soient libérées. Ce concept permet d'optimiser l'usage des ressources.

Newsletter

Envie de ne louper aucun de nos articles ? Abonnez vous pour recevoir chaque semaine les meilleurs actualités avant tout le monde.

Cliquez pour commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *