Comment activer la journalisation de débogage pour les services YARN dans Hadoop

HadoopHadoopBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Hadoop est un framework open source largement utilisé pour le stockage et le traitement distribués de grands ensembles de données. L'un des composants clés de Hadoop est YARN (Yet Another Resource Negotiator), qui est responsable de la gestion et de la planification des ressources dans un cluster Hadoop. Dans ce tutoriel, nous allons vous guider tout au long du processus d'activation de la journalisation de débogage pour les services YARN dans Hadoop, ce qui peut être crucial pour le dépannage et l'optimisation de votre environnement Hadoop.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopYARNGroup(["Hadoop YARN"]) hadoop/HadoopYARNGroup -.-> hadoop/yarn_setup("Hadoop YARN Basic Setup") hadoop/HadoopYARNGroup -.-> hadoop/apply_scheduler("Applying Scheduler") hadoop/HadoopYARNGroup -.-> hadoop/yarn_app("Yarn Commands application") hadoop/HadoopYARNGroup -.-> hadoop/yarn_container("Yarn Commands container") hadoop/HadoopYARNGroup -.-> hadoop/yarn_log("Yarn Commands log") hadoop/HadoopYARNGroup -.-> hadoop/resource_manager("Resource Manager") hadoop/HadoopYARNGroup -.-> hadoop/node_manager("Node Manager") subgraph Lab Skills hadoop/yarn_setup -.-> lab-417693{{"Comment activer la journalisation de débogage pour les services YARN dans Hadoop"}} hadoop/apply_scheduler -.-> lab-417693{{"Comment activer la journalisation de débogage pour les services YARN dans Hadoop"}} hadoop/yarn_app -.-> lab-417693{{"Comment activer la journalisation de débogage pour les services YARN dans Hadoop"}} hadoop/yarn_container -.-> lab-417693{{"Comment activer la journalisation de débogage pour les services YARN dans Hadoop"}} hadoop/yarn_log -.-> lab-417693{{"Comment activer la journalisation de débogage pour les services YARN dans Hadoop"}} hadoop/resource_manager -.-> lab-417693{{"Comment activer la journalisation de débogage pour les services YARN dans Hadoop"}} hadoop/node_manager -.-> lab-417693{{"Comment activer la journalisation de débogage pour les services YARN dans Hadoop"}} end

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.

Configuration de la journalisation de débogage pour YARN

Activer la journalisation au niveau de débogage pour les services YARN peut être d'une grande utilité lors du dépannage de problèmes ou de la compréhension du fonctionnement interne du système. Voici comment vous pouvez configurer la journalisation de débogage pour les services YARN :

Modification du fichier log4j.properties

  1. Localisez le fichier log4j.properties dans votre répertoire de configuration Hadoop (généralement /etc/hadoop/conf/log4j.properties).
  2. Ouvrez le fichier dans un éditeur de texte et trouvez les lignes suivantes :
log4j.logger.org.apache.hadoop.yarn=INFO
log4j.logger.org.apache.hadoop.yarn.server=INFO
  1. Changez le niveau de journalisation de INFO à DEBUG pour les services YARN souhaités :
log4j.logger.org.apache.hadoop.yarn=DEBUG
log4j.logger.org.apache.hadoop.yarn.server=DEBUG
  1. Enregistrez les modifications dans le fichier log4j.properties.

Redémarrage des services YARN

Après avoir modifié le fichier log4j.properties, vous devez redémarrer les services YARN pour que les modifications prennent effet. Vous pouvez le faire à l'aide des commandes suivantes :

sudo systemctl restart hadoop-yarn-resourcemanager
sudo systemctl restart hadoop-yarn-nodemanager

Cela redémarrera respectivement les services ResourceManager et NodeManager et activera la journalisation au niveau de débogage pour les composants YARN.

Vérification de la journalisation de débogage

Vous pouvez vérifier que la journalisation de débogage est activée en consultant les journaux des services YARN, généralement situés dans le répertoire /var/log/hadoop-yarn. Recherchez les fichiers de journal avec l'extension .log, et vous devriez voir des informations de journalisation plus détaillées, y compris des messages au niveau de débogage.

En activant la journalisation de débogage pour les services YARN, vous pouvez obtenir des informations précieuses sur le fonctionnement interne du système, ce qui peut être d'une grande utilité lors du dépannage de problèmes ou de la compréhension du comportement de vos applications Hadoop.

Dépannage des problèmes de services YARN

Lorsque vous travaillez avec les services YARN, vous pouvez rencontrer divers problèmes qui nécessitent un dépannage. Voici quelques problèmes courants de services YARN et comment y remédier :

Le ResourceManager n'est pas disponible

Si le ResourceManager n'est pas disponible, vous pouvez voir des erreurs telles que "Impossible de contacter le ResourceManager" ou "Le ResourceManager n'est pas en cours d'exécution". Pour résoudre ce problème :

  1. Vérifiez les journaux du ResourceManager pour tout message d'erreur ou indice sur le problème.
  2. Vérifiez que le service ResourceManager est en cours d'exécution en utilisant la commande sudo systemctl status hadoop-yarn-resourcemanager.
  3. Si le service n'est pas en cours d'exécution, démarrez-le en utilisant sudo systemctl start hadoop-yarn-resourcemanager.

Problèmes du NodeManager

Si un NodeManager ne fonctionne pas correctement, vous pouvez voir des problèmes tels que des conteneurs ne se lançant pas ou des tâches ne s'exécutant pas. Pour résoudre les problèmes du NodeManager :

  1. Vérifiez les journaux du NodeManager pour tout message d'erreur ou avertissement.
  2. Vérifiez que le service NodeManager est en cours d'exécution en utilisant la commande sudo systemctl status hadoop-yarn-nodemanager.
  3. Si le service n'est pas en cours d'exécution, démarrez-le en utilisant sudo systemctl start hadoop-yarn-nodemanager.
  4. Assurez-vous que le NodeManager dispose de ressources suffisantes (CPU, mémoire, disque) pour exécuter les tâches.

Échecs des applications

Si vos applications ne s'exécutent pas ou rencontrent des problèmes, vous pouvez procéder au dépannage en :

  1. Vérifiant les journaux du ApplicationMaster pour tout message d'erreur ou indice sur le problème.
  2. Examiner les journaux d'application YARN, qui se trouvent généralement dans le répertoire /var/log/hadoop-yarn/apps.
  3. Vérifiez que l'application demande les ressources correctes (conteneurs, mémoire, CPU) et que les ressources sont disponibles dans le cluster.
  4. Assurez-vous que le code de l'application et les dépendances sont corrects et compatibles avec l'environnement Hadoop/YARN.

Problèmes de capacité du cluster

Si le cluster YARN s'exhause en ressources (CPU, mémoire, disque), vous pouvez voir des problèmes tels que des applications bloquées dans l'état "EN ATTENTE" ou des conteneurs tués en raison d'une épuisement des ressources. Pour résoudre les problèmes de capacité :

  1. Vérifiez l'interface utilisateur ou les journaux du ResourceManager pour voir l'utilisation actuelle du cluster et la disponibilité des ressources.
  2. Assurez-vous que le cluster a été configuré avec les allocations de ressources appropriées (par exemple, nombre de NodeManagers, CPU, mémoire par nœud).
  3. Considérez l'échelle du cluster en ajoutant plus de nœuds de travail ou en ajustant les configurations de ressources.

En suivant ces étapes de dépannage et en utilisant la journalisation au niveau de débogage activée plus tôt, vous pouvez identifier et résoudre efficacement divers problèmes de services YARN, assurant ainsi le bon fonctionnement de vos applications Hadoop.

Sommaire

À la fin de ce tutoriel, vous aurez une meilleure compréhension de la manière d'activer la journalisation de débogage pour les services YARN dans Hadoop. Cela vous aidera à identifier et à résoudre les problèmes dans votre cluster Hadoop, ce qui entraînera une amélioration des performances et de la fiabilité. Que vous soyez un administrateur Hadoop ou un développeur travaillant avec Hadoop, ce guide vous fournira les connaissances nécessaires pour gérer efficacement et résoudre les problèmes de votre environnement Hadoop.