Comprendre les services YARN
YARN (Yet Another Resource Negotiator) est le composant de gestion des ressources et de planification des tâches de l'écosystème Hadoop. Il est responsable de la gestion des ressources d'un cluster Hadoop, telles que le CPU, la mémoire et le disque, et de la planification et de l'exécution des tâches sur ces ressources.
Les services YARN désignent les divers composants et processus qui composent le système YARN, tels que le ResourceManager, le NodeManager, le ApplicationMaster et le Container. Ces services travaillent ensemble pour fournir une plateforme scalable et tolérante aux pannes pour exécuter des applications distribuées sur un cluster Hadoop.
Certaines des principales fonctionnalités et concepts des services YARN sont les suivantes :
Architecture YARN
YARN suit une architecture maître-esclave, avec un ResourceManager central et plusieurs NodeManagers. Le ResourceManager est responsable de la gestion des ressources du cluster et de la planification des applications, tandis que les NodeManagers sont responsables de l'exécution des tâches réelles sur les nœuds de travail.
Cycle de vie des applications
Lorsqu'une application est soumise à YARN, le ResourceManager attribue un ApplicationMaster pour gérer l'exécution de l'application. Le ApplicationMaster demande ensuite des ressources au ResourceManager et lance les conteneurs nécessaires sur les NodeManagers pour exécuter les tâches de l'application.
Allocation des ressources
YARN utilise un modèle de ressources basé sur les conteneurs, qui représentent une quantité fixe de ressources (par exemple, CPU, mémoire) qui peuvent être allouées à une tâche. Le ResourceManager est responsable de l'allocation de ces conteneurs aux applications en fonction de leurs demandes de ressources et des ressources disponibles du cluster.
Tolérance aux pannes
YARN est conçu pour être tolérant aux pannes, le ResourceManager et les NodeManagers surveillant l'état de santé du cluster et prenant des mesures appropriées (telle que le redémarrage des tâches ayant échoué) pour garantir l'exécution réussie des applications.
En comprenant ces concepts et fonctionnalités clés des services YARN, les développeurs peuvent exploiter efficacement la puissance de l'écosystème Hadoop pour construire et exécuter des applications distribuées à grande échelle.