Vidéo: Yarn, encore un package manager ? (Erwan Deruelle) 2024
Chaque nœud esclave dans Yet Another Négociateur de Ressources (YARN) a un démon Node Manager, qui agit comme un esclave pour le Gestionnaire de Ressources. Comme avec le TaskTracker, chaque nœud esclave dispose d'un service qui le relie au service de traitement (Node Manager) et au service de stockage (DataNode) qui permettent à Hadoop d'être un système distribué.
Chaque gestionnaire de nœuds suit les ressources de traitement de données disponibles sur son nœud esclave et envoie des rapports réguliers au gestionnaire de ressources.
Les ressources de traitement d'une grappe Hadoop sont consommées en morceaux de petite taille appelés conteneurs. Un container est une collection de toutes les ressources nécessaires pour exécuter une application: cœurs de processeur, mémoire, bande passante réseau et espace disque. Un conteneur déployé s'exécute en tant que processus individuel sur un nœud esclave dans un cluster Hadoop.
Le concept d'un conteneur peut vous rappeler un emplacement , l'unité de traitement utilisée par JobTracker et TaskTracker, mais ils présentent des différences notables. Plus important encore, les conteneurs sont génériques et peuvent exécuter la logique d'application qui leur est attribuée, contrairement aux emplacements, qui sont spécifiquement définis pour exécuter la carte ou réduire les tâches. En outre, les conteneurs peuvent être demandés avec des quantités personnalisées de ressources, tandis que les emplacements sont tous uniformes.
Tant que le montant demandé est dans les limites minimum et maximum de ce qui est acceptable pour un conteneur (et aussi longtemps que la quantité de mémoire demandée est un multiple du montant minimum), le gestionnaire de ressources accordera et planifiera ce conteneur.
Tous les processus de conteneur s'exécutant sur un nœud esclave sont initialement provisionnés, surveillés et suivis par le démon du gestionnaire de nœuds de ce nœud asservi.