Comprendre Hadoop Yarn
On décembre 9, 2021 by adminYARN – Yet Another Resource Negotiator, fait partie de la version Hadoop 2, est l’un des deux composants majeurs d’Apache Hadoop (avec HDFS). Il planifie l’utilisation des ressources du cluster ainsi que les traitements appliqués aux données.
Ci-après, l’architecture de base de Yarn, où le Resource Manager est le composant central de l’architecture entière, qui est responsable de la gestion des ressources, y compris les RAM, les CPU et d’autres ressources à travers le cluster. Le maître d’application est responsable de l’ordonnancement des applications tout au long du cycle de vie, le gestionnaire de nœud est responsable de l’approvisionnement et de l’isolation des ressources sur ce nœud.
Le gestionnaire de ressources : il contrôle la gestion des ressources du cluster, prend également des décisions d’allocation. Le gestionnaire de ressources a deux composants principaux : L’ordonnanceur et le gestionnaire d’applications.
- L’ordonnanceur : est appelé le YarnScheduler, qui permet différentes politiques de gestion des contraintes telles que la capacité, l’équité et les accords de niveau de service.
- Le gestionnaire d’applications : est responsable du maintien d’une liste d’application soumise. Après la soumission de l’application par le client, le gestionnaire d’applications valide d’abord si l’exigence de l’application en matière de ressources pour son maître d’application peut être satisfaite ou non.Si suffisamment de ressources sont disponibles, alors il transmet l’application au planificateur, sinon l’application sera rejetée.
Le gestionnaire de nœuds : est responsable du lancement et de la gestion des conteneurs sur un nœud. Les conteneurs exécutent les tâches spécifiées par l’AppMaster.
- Le conteneur : Signifie une ressource allouée à un AppMaster. Le ResourceManager est responsable de l’émission de ressources/conteneurs à un ApplicationMaster. et il fait référence à une collection de ressources telles que la mémoire, le CPU, le disque et l’IO réseau.
- L’Application Master : est une instance d’une bibliothèque spécifique au cadre qui négocie les ressources du Resource Manager et travaille avec le NodeManager pour exécuter et surveiller les ressources accordées (regroupées en conteneurs) pour une application donnée. Une application peut être un job mapreduce, un framework hive…
Étapes d’exécution des applications avec YARN:
- Un client soumet une application au gestionnaire de ressources YARN.
- Le gestionnaire d’applications (dans le gestionnaire de ressources) négocie un conteneur et démarre l’instance ApplicationMaster pour l’application.
- L’ApplicationMaster s’enregistre auprès du ResourceManager et demande des conteneurs(RAMs et CPUs).
- L’ApplicationMaster communique avec les NodeManagers pour lancer les conteneurs qui lui ont été accordés.
- L’ApplicationMaster gère l’exécution de l’application. Pendant l’exécution, l’application fournit des informations de progression et d’état à l’ApplicationMaster. Le client peut surveiller l’état de l’application en interrogeant le ResourceManager ou en communiquant directement avec l’ApplicationMaster.
- L’ApplicationMaster signale l’achèvement de l’application au ResourceManager.
- L’ApplicationMaster se désenregistre auprès du ResourceManager, qui nettoie alors le conteneur ApplicationMaster.
L’ordonnanceur de fil :
L’ordonnanceur possède une politique enfichable qui est responsable de la partition des ressources du cluster entre les différentes files d’attente, les applications, etc.
2. Ordonnanceur FIFO
L’ordonnanceur FIFO est l’une des premières stratégies de déploiement utilisées par Hadoop, et peut simplement être interprété comme une file d’attente Java. ce qui signifie qu’il ne peut y avoir qu’un seul travail dans le cluster en même temps. Toutes les applications sont exécutées dans l’ordre de soumission, et le Job après l’achèvement du Job précédent sera exécuté dans l’ordre de la file d’attente.
Ce planificateur laisse les applications courtes se terminer dans un temps raisonnable tout en ne privant pas les applications à longue durée de vie.
2. Ordonnanceur de capacité
L’ordonnanceur de capacité est un ordonnanceur enfichable pour Hadoop qui permet à plusieurs locataires de partager en toute sécurité un grand cluster. Les ressources sont allouées aux applications de chaque locataire de manière à utiliser pleinement le cluster, régi par les contraintes des capacités allouées.
Les files d’attente sont généralement configurées par les administrateurs pour refléter l’économie du cluster partagé. Le planificateur de capacité prend en charge les files d’attente hiérarchiques pour s’assurer que les ressources sont partagées entre les sous-files d’attente d’une organisation avant que les autres files d’attente ne soient autorisées à utiliser les ressources libres.
3. Planificateur équitable
Le FairScheduler est un planificateur enfichable pour Hadoop qui permet aux applications YARN de partager équitablement les ressources dans un grand cluster. L’ordonnancement équitable est une méthode d’affectation des ressources aux applications de telle sorte que toutes les applications obtiennent, en moyenne, une part égale de ressources au fil du temps.
.
Laisser un commentaire