Introduction
Le YARN (Yet Another Resource Negotiator) d'Hadoop est un système de gestion des ressources puissant qui permet l'exécution efficace d'applications dans un environnement de calcul distribué. Surveiller l'exécution des applications YARN est crucial pour comprendre les performances des applications, identifier les goulots d'étranglement et garantir la santé globale de votre cluster Hadoop. Ce tutoriel vous guidera tout au long du processus de surveillance de l'exécution des applications YARN, depuis la compréhension des métriques clés jusqu'à l'analyse des performances de l'application.
Comprendre la surveillance des applications YARN
Le YARN (Yet Another Resource Negotiator) est un composant clé de l'écosystème Apache Hadoop, chargé de gérer et de planifier l'exécution des applications sur un cluster Hadoop. Lorsque vous exécutez des applications sur un cluster YARN, il est crucial de surveiller leur exécution pour garantir une utilisation efficace des ressources, identifier les goulots d'étranglement de performance et résoudre tout problème qui pourrait survenir.
Cycle de vie des applications YARN
Le cycle de vie des applications YARN se compose des étapes clés suivantes :
- Soumission de l'application : Le client soumet l'application au gestionnaire de ressources YARN (YARN Resource Manager).
- Acceptation de l'application : Le gestionnaire de ressources accepte l'application et alloue des ressources pour son exécution.
- Allocation des conteneurs : Le gestionnaire de ressources alloue des conteneurs (une unité d'allocation de ressources dans YARN) à l'application.
- Exécution de l'application : L'application s'exécute sur les conteneurs alloués, en utilisant les ressources disponibles.
- Terminaison de l'application : L'application termine son exécution et libère les ressources allouées.
Comprendre le cycle de vie des applications YARN est essentiel pour surveiller efficacement l'exécution des applications sur un cluster YARN.
Métriques des applications YARN
YARN fournit un ensemble riche de métriques qui peuvent être utilisées pour surveiller l'exécution des applications. Ces métriques incluent :
- Métriques au niveau de l'application : Métriques liées à l'application dans son ensemble, telles que l'état de l'application, la progression et l'utilisation des ressources.
- Métriques au niveau du conteneur : Métriques liées aux conteneurs individuels alloués à l'application, y compris l'utilisation du processeur (CPU), de la mémoire et du disque.
- Métriques au niveau du nœud : Métriques liées aux nœuds YARN, y compris la disponibilité des ressources, leur utilisation et leur santé.
Ces métriques peuvent être consultées via diverses interfaces, telles que l'interface web du gestionnaire de ressources YARN, les outils en ligne de commande et les API programmatiques.
Approches de surveillance
Il existe plusieurs approches pour surveiller l'exécution des applications YARN, notamment :
- Interface web du gestionnaire de ressources YARN : Le gestionnaire de ressources YARN fournit une interface utilisateur basée sur le web qui affiche des informations en temps réel sur les applications en cours d'exécution, les conteneurs et les ressources du cluster.
- Outils en ligne de commande YARN : YARN fournit des outils en ligne de commande, tels que
yarn applicationetyarn node, qui peuvent être utilisés pour récupérer des informations au niveau de l'application et du cluster. - API REST YARN : Le gestionnaire de ressources YARN expose une API REST qui permet d'accéder de manière programmée aux métriques au niveau de l'application et du cluster.
- Outils de surveillance tiers : Divers outils tiers, tels que Ganglia, Prometheus et Grafana, peuvent être intégrés à YARN pour offrir des capacités de surveillance et de visualisation plus complètes.
En utilisant ces approches de surveillance, vous pouvez mieux comprendre l'exécution des applications YARN et résoudre efficacement tout problème qui pourrait survenir.
Surveiller l'exécution des applications YARN
Surveiller l'exécution des applications YARN est crucial pour garantir le fonctionnement efficace et fiable de votre cluster Hadoop. Dans cette section, nous allons explorer diverses approches et techniques pour surveiller l'exécution des applications YARN.
Interface web du gestionnaire de ressources YARN
Le gestionnaire de ressources YARN fournit une interface utilisateur basée sur le web qui vous permet de surveiller l'exécution des applications YARN. Pour accéder à l'interface web du gestionnaire de ressources YARN, suivez ces étapes :
- Ouvrez un navigateur web et accédez à
http://<resource-manager-host>:8088. - L'interface web du gestionnaire de ressources YARN s'affichera, affichant des informations sur les applications en cours d'exécution, les ressources du cluster, etc.
L'interface web du gestionnaire de ressources YARN offre les principales fonctionnalités suivantes pour surveiller l'exécution des applications :
- Liste des applications : Affichez la liste de toutes les applications en cours d'exécution et terminées, ainsi que leur état, leur progression et leur utilisation des ressources.
- Détails de l'application : Accédez aux détails d'une application spécifique, y compris ses conteneurs, ses journaux et son utilisation des ressources.
- État du gestionnaire de nœuds : Surveillez l'état et l'utilisation des ressources des nœuds YARN individuels.
- Métriques du cluster : Affichez les métriques globales au niveau du cluster, telles que les ressources disponibles, les ressources utilisées et le débit des applications.
Outils en ligne de commande YARN
YARN fournit un ensemble d'outils en ligne de commande qui peuvent être utilisés pour surveiller l'exécution des applications. Voici quelques-uns des outils en ligne de commande YARN les plus couramment utilisés :
yarn application: Récupérez des informations sur les applications en cours d'exécution et terminées.yarn node: Récupérez des informations sur les nœuds YARN et leur utilisation des ressources.yarn logs: Récupérez les journaux d'une application ou d'un conteneur YARN spécifique.
Voici un exemple d'utilisation de la commande yarn application pour récupérer des informations sur une application en cours d'exécution :
$ yarn application -status <application-id>
Cette commande affichera des informations détaillées sur l'application spécifiée, y compris son état, sa progression et son utilisation des ressources.
API REST YARN
Le gestionnaire de ressources YARN expose une API REST qui vous permet d'accéder de manière programmée aux métriques au niveau de l'application et du cluster. Cela peut être particulièrement utile pour intégrer la surveillance YARN dans des applications personnalisées ou des outils de surveillance tiers.
Pour utiliser l'API REST YARN, vous pouvez effectuer des requêtes HTTP aux points d'accès appropriés. Par exemple, pour récupérer des informations sur une application en cours d'exécution, vous pouvez utiliser le point d'accès API REST suivant :
GET http://<resource-manager-host>:8088/ws/v1/cluster/apps/<application-id>
La réponse de cet appel d'API contiendra des informations détaillées sur l'application spécifiée, que vous pouvez ensuite utiliser pour surveiller son exécution.
En utilisant l'interface web du gestionnaire de ressources YARN, les outils en ligne de commande et l'API REST, vous pouvez efficacement surveiller l'exécution des applications YARN et garantir la santé et les performances globales de votre cluster Hadoop.
Analyser les métriques des applications YARN
YARN fournit un ensemble riche de métriques qui peuvent être utilisées pour analyser l'exécution des applications s'exécutant sur un cluster Hadoop. En comprenant et en interprétant ces métriques, vous pouvez identifier les goulots d'étranglement de performance, optimiser l'utilisation des ressources et garantir la santé globale de vos applications YARN.
Métriques au niveau de l'application
Les métriques au niveau de l'application offrent des informations sur l'exécution globale d'une application YARN. Certaines métriques clés au niveau de l'application incluent :
- État de l'application : L'état actuel de l'application (par exemple, RUNNING, FINISHED, FAILED).
- Progression de l'application : La progression globale de l'application, exprimée en pourcentage.
- Ressources allouées : La quantité de ressources (par exemple, CPU, mémoire) allouées à l'application.
- Ressources utilisées : La quantité de ressources effectivement utilisées par l'application.
- Durée de l'application : La durée totale de l'exécution de l'application.
En analysant ces métriques, vous pouvez comprendre les performances globales et l'utilisation des ressources de vos applications YARN.
Métriques au niveau du conteneur
Les métriques au niveau du conteneur offrent des informations sur les conteneurs individuels alloués à une application YARN. Certaines métriques clés au niveau du conteneur incluent :
- État du conteneur : L'état actuel du conteneur (par exemple, RUNNING, COMPLETED).
- Utilisation des ressources du conteneur : La quantité de ressources CPU, mémoire et disque utilisées par le conteneur.
- Journaux du conteneur : Les journaux générés par le conteneur lors de son exécution.
L'analyse des métriques au niveau du conteneur peut vous aider à identifier les goulots d'étranglement de performance, la contention des ressources et autres problèmes au niveau des conteneurs individuels.
Métriques au niveau du nœud
Les métriques au niveau du nœud offrent des informations sur la santé globale et l'utilisation des ressources des nœuds YARN de votre cluster. Certaines métriques clés au niveau du nœud incluent :
- État du nœud : L'état actuel du nœud (par exemple, RUNNING, UNHEALTHY).
- Disponibilité des ressources du nœud : La quantité de ressources CPU, mémoire et disque disponibles sur le nœud.
- Utilisation des ressources du nœud : La quantité de ressources CPU, mémoire et disque actuellement utilisées sur le nœud.
En analysant les métriques au niveau du nœud, vous pouvez identifier les nœuds sous-utilisés ou surchargés et prendre des décisions éclairées concernant l'allocation et la mise à l'échelle des ressources.
Outils de surveillance et intégrations
Pour analyser efficacement les métriques des applications YARN, vous pouvez utiliser divers outils de surveillance et intégrations, tels que :
- Surveillance LabEx : LabEx propose une solution de surveillance complète qui s'intègre à YARN et aux autres composants Hadoop, offrant des capacités avancées de visualisation et d'alerte.
- Prometheus et Grafana : Vous pouvez intégrer les métriques YARN à Prometheus et Grafana pour créer des tableaux de bord et des visualisations personnalisés pour une analyse approfondie.
- Ganglia : Ganglia est un outil de surveillance open - source populaire qui peut être utilisé pour collecter et visualiser les métriques YARN.
En combinant l'ensemble riche de métriques des applications YARN avec des outils de surveillance et des intégrations puissants, vous pouvez obtenir des informations approfondies sur l'exécution et les performances de vos applications YARN, vous permettant d'optimiser l'utilisation des ressources, d'identifier et de résoudre les problèmes et de garantir la santé globale de votre cluster Hadoop.
Résumé
Dans ce tutoriel sur Hadoop, vous avez appris à surveiller efficacement l'exécution des applications YARN. En comprenant le processus de surveillance des applications YARN, en analysant les métriques pertinentes et en résolvant tout problème, vous pouvez garantir les performances optimales de vos applications Hadoop et maintenir la santé globale de votre cluster. Grâce à ces compétences, vous pouvez exploiter le potentiel de Hadoop pour traiter et analyser des données à grande échelle plus efficacement.



