Tutoriel Hadoop YARN - Apprenez les principes de base de l'architecture YARN



Ce blog se concentre sur Apache Hadoop YARN qui a été introduit dans Hadoop version 2.0 pour la gestion des ressources et la planification des tâches. Il explique l'architecture YARN avec ses composants et les tâches accomplies par chacun d'eux. Il décrit la soumission de l'application et le flux de travail dans Apache Hadoop YARN.

Hadoop YARN tricote l'unité de stockage de Hadoop, c'est-à-dire HDFS (Hadoop Distributed File System) avec les différents outils de traitement. Pour ceux d'entre vous qui sont complètement nouveaux sur ce sujet, YARN signifie « Oui et À autre R esource N égotiateur ». Je vous suggère également de passer par notre et avant de commencer à apprendre Apache Hadoop YARN. J'expliquerai les sujets suivants ici pour m'assurer qu'à la fin de ce blog, votre compréhension de Hadoop YARN est claire.

Pourquoi YARN?

Dans Hadoop version 1.0, également appelée MRV1 (MapReduce Version 1), MapReduce remplissait à la fois des fonctions de traitement et de gestion des ressources. Il se composait d'un Job Tracker qui était le seul maître. Le Job Tracker a alloué les ressources, effectué la planification et surveillé les travaux de traitement. Il attribuait une carte et réduisait les tâches sur un certain nombre de processus subordonnés appelés les suiveurs de tâches. Les Task Trackers rapportaient périodiquement leur progression au Job Tracker.





MapReduce Version 1.0 - Hadoop YARN - Edureka

Cette conception a entraîné un goulot d'étranglement d'évolutivité dû à un seul Job Tracker.IBM a mentionné dans son article que selon Yahoo !, les limites pratiques d'une telle conception sont atteintes avec un cluster de 5000 nœuds et 40 000 tâches exécutées simultanément.En dehors de cette limitation, l'utilisation des ressources de calcul est inefficace dans MRV1. En outre, le framework Hadoop est devenu limité uniquement au paradigme de traitement MapReduce.



Pour surmonter tous ces problèmes, YARN a été introduit dans Hadoop version 2.0 en 2012 par Yahoo et Hortonworks. L'idée de base derrière YARN est de soulager MapReduce en prenant la responsabilité de la gestion des ressources et de la planification des travaux. YARN a commencé à donner à Hadoop la possibilité d'exécuter des tâches non MapReduce dans le cadre Hadoop.

Vous pouvez également regarder la vidéo ci-dessous où notre l'expert discute des concepts YARN et de son architecture en détail.

Tutoriel Hadoop Yarn | Architecture de fil Hadoop | Edureka

Avec l'introduction de YARN, le a été complètement révolutionné. Il est devenu beaucoup plus flexible, efficace et évolutif. Lorsque Yahoo a lancé YARN au premier trimestre de 2013, il a aidé l'entreprise à réduire la taille de son cluster Hadoop de 40 000 nœuds à 32 000 nœuds. Mais le nombre d'emplois a doublé pour atteindre 26 millions par mois.



Introduction à Hadoop YARN

Maintenant que je vous ai éclairé sur la nécessité de YARN, laissez-moi vous présenter le composant principal de Hadoop v2.0, FIL . YARN permet à différentes méthodes de traitement de données telles que le traitement graphique, le traitement interactif, le traitement de flux ainsi que le traitement par lots d'exécuter et de traiter les données stockées dans HDFS. Par conséquent, YARN ouvre Hadoop à d'autres types d'applications distribuées au-delà de MapReduce.

qu'est-ce que le scanner en java

YARN a permis aux utilisateurs d'effectuer des opérations selon les besoins en utilisant une variété d'outils tels que pour un traitement en temps réel, Ruche pour SQL, HBase pour NoSQL et autres.

Outre la gestion des ressources, YARN effectue également la planification des travaux. YARN effectue toutes vos activités de traitement en allouant des ressources et en planifiant des tâches. L'architecture Apache Hadoop YARN comprend les principaux composants suivants:

  1. Gestionnaire de ressources : S'exécute sur un démon maître et gère l'allocation des ressources dans le cluster.
  2. Gestionnaire de nœuds: Ils s'exécutent sur les démons esclaves et sont responsables de l'exécution d'une tâche sur chaque nœud de données.
  3. Maître d'application: Gère le cycle de vie des travaux de l'utilisateur et les besoins en ressources des applications individuelles. Il fonctionne avec le Node Manager et surveille l'exécution des tâches.
  4. Récipient: Paquet de ressources comprenant la RAM, le processeur, le réseau, le disque dur, etc. sur un seul nœud.

Composants de YARN

Vous pouvez considérer YARN comme le cerveau de votre écosystème Hadoop. L'image ci-dessous représente l'architecture YARN.

La premier composant de YARN Architecture est,

Gestionnaire de ressources

  • C'est l'autorité ultime en matière d'allocation des ressources .
  • À la réception des demandes de traitement, il transmet en conséquence des parties de demandes aux gestionnaires de nœuds correspondants, où le traitement réel a lieu.
  • Il est l'arbitre des ressources du cluster et décide de l'allocation des ressources disponibles pour les applications concurrentes.
  • Optimise l'utilisation du cluster en gardant toutes les ressources en service tout le temps contre diverses contraintes telles que les garanties de capacité, l'équité et les SLA.
  • Il comporte deux composants principaux:a) Planificateurb)Gestionnaire d'applications

a) Planificateur

  • L'ordonnanceur est chargé d'allouer des ressources aux différentes applications en cours d'exécution sous réserve de contraintes de capacités, de files d'attente, etc.
  • Il est appelé un pur programmeur dans ResourceManager, ce qui signifie qu'il n'effectue aucune surveillance ou suivi de l'état des applications.
  • En cas de panne d'application ou de panne matérielle, le planificateur ne garantit pas le redémarrage des tâches ayant échoué.
  • Effectue la planification en fonction des besoins en ressources des applications.
  • Il dispose d'un plug-in de stratégie enfichable, qui est chargé de partitionner les ressources du cluster entre les différentes applications. Il existe deux plug-ins de ce type: Planificateur de capacité et Planificateur équitable , qui sont actuellement utilisés comme planificateurs dans ResourceManager.

b) Gestionnaire d'applications

  • Il est responsable d'accepter les candidatures.
  • Négocie le premier conteneur du gestionnaire de ressources pour l'exécution du maître d'application spécifique à l'application.
  • Gère l'exécution des Application Masters dans un cluster et fournit un service de redémarrage du conteneur Application Master en cas d'échec.

Venir au deuxième composant lequel est:

Gestionnaire de nœuds

  • Il prend en charge les nœuds individuels dans un cluster Hadoop etgère les travaux utilisateur et le flux de travail sur le nœud donné.
  • Il s'enregistre auprès du gestionnaire de ressources et envoie des pulsations avec l'état de santé du nœud.
  • Son objectif principal est de gérer les conteneurs d'applications qui lui sont attribués par le gestionnaire de ressources.
  • Il se tient à jour avec le gestionnaire de ressources.
  • Application Master demande le conteneur attribué au Node Manager en lui envoyant un Contexte de lancement de conteneur (CLC) qui comprend tout ce dont l'application a besoin pour s'exécuter. Le gestionnaire de nœuds crée le processus de conteneur demandé et le démarre.
  • Surveille l'utilisation des ressources (mémoire, CPU) des conteneurs individuels.
  • Effectue la gestion des journaux.
  • Il tue également le conteneur comme indiqué par le gestionnaire de ressources.

La troisième composant d'Apache Hadoop YARN est,

Maître d'application
  • Une candidature est un seul emploi soumis au framework. Chacune de ces applications est associée à un maître d'application unique qui est une entité spécifique au cadre.
  • C'est le processus qui coordonne l'exécution d'une application dans le cluster et gère également les défauts.
  • Sa tâche est de négocier les ressources du gestionnaire de ressources et de travailler avec le gestionnaire de nœuds pour exécuter et surveiller les tâches des composants.
  • Il est chargé de négocier les conteneurs de ressources appropriés à partir du ResourceManager, de suivre leur état et de surveiller les progrès.
  • Une fois démarré, il envoie périodiquement des pulsations au gestionnaire de ressources pour confirmer son intégrité et mettre à jour l'enregistrement de ses demandes de ressources.

La quatrième composante est:

Récipient
  • Il s'agit d'un ensemble de ressources physiques telles que la RAM, les cœurs de processeur et les disques sur un seul nœud.
  • Les conteneurs YARN sont gérés par un contexte de lancement de conteneur qui correspond au cycle de vie du conteneur (CLC). Cet enregistrement contient une carte des variables d'environnement, des dépendances stockées dans un stockage accessible à distance, des jetons de sécurité, des données utiles pour les services Node Manager et la commande nécessaire pour créer le processus.
  • Il accorde le droit à une application d'utiliser une quantité spécifique de ressources (mémoire, CPU, etc.) sur un hôte spécifique.

Soumission de candidature dans YARN

Reportez-vous à l'image et jetez un œil aux étapes impliquées dans la soumission de candidature de Hadoop YARN:

1) Soumettez le travail

2)Obtenir l'ID de l'application

3) Contexte de soumission des candidatures

4 a) Conteneur de démarragelancement

b) Lancer Application Master

5) Allouer des ressources

6 a) Conteneur

b) Lancement

7) Exécuter

Flux de travail d'application dans Hadoop YARN

Reportez-vous à l'image donnée et consultez les étapes suivantes impliquées dans le flux de travail d'application d'Apache Hadoop YARN:

  1. Le client soumet une demande
  2. Resource Manager alloue un conteneur pour démarrer Application Manager
  3. Application Manager s'enregistre auprès de Resource Manager
  4. Application Manager demande des conteneurs à Resource Manager
  5. Application Manager informe Node Manager de lancer les conteneurs
  6. Le code de l'application est exécuté dans le conteneur
  7. Le client contacte Resource Manager / Application Manager pour surveiller l'état de l'application
  8. Application Manager annule l'enregistrement avec Resource Manager

Maintenant que vous connaissez Apache Hadoop YARN, consultez le par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Le cours de formation à la certification Edureka Big Data Hadoop aide les apprenants à devenir des experts dans les domaines HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume et Sqoop en utilisant des cas d'utilisation en temps réel sur le commerce de détail, les médias sociaux, l'aviation, le tourisme et la finance.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires et nous vous recontacterons.

c ++ trier un tableau