Afficher les fichiers journaux - Amazon EMR

Afficher les fichiers journaux

Amazon EMR et Hadoop génèrent des fichiers journaux qui indiquent l'état du cluster. Par défaut, ces journaux sont écrits sur le nœud primaire dans le répertoire /mnt/var/log/. En fonction de la façon dont vous avez configuré votre cluster lorsque vous l'avez lancé, ces journaux peuvent également être archivés sur Amazon S3 et être affichés grâce à l'outil de débogage graphique.

Il existe de nombreux types de journaux écrits sur le nœud primaire. Amazon EMR écrit les journaux des étapes, des actions de démarrage et de l'état des instances. Apache Hadoop écrit des journaux pour indiquer le traitement des travaux, des tâches et des tentatives de tâche. Hadoop enregistre également les journaux de ses démons. Pour plus d'informations sur les journaux écrits par Hadoop, consultez http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html.

Affichage des fichiers journaux sur le nœud primaire

Le tableau suivant répertorie quelques-uns des fichiers journaux que vous trouverez sur le nœud primaire.

Emplacement Description

/emr/instance-controller/log/bootstrap-actions

Journaux écrits pendant le traitement des actions amorçage.

/mnt/var/log/hadoop-state-pusher

Journaux écrits par le processus de transmission d'état Hadoop.

/emr/instance-controller/log

Journaux de contrôleur d'instance.

/emr/instance-state

Journaux d'état de l'instance. Ces journaux contiennent des informations sur l'UC, l'état de la mémoire et les threads de nettoyage de mémoire du nœud.

/emr/service-nanny

Journaux écrits par le processus de surveillance du service.

/mnt/var/log/application

Journaux spécifiques à une application, par exemple Hadoop, Spark ou Hive.

/mnt/var/log/hadoop/steps/N

Journaux d'étape qui contiennent des informations sur le traitement de l'étape. La valeur N indique la valeur stepId attribuée par Amazon EMR. Par exemple, un cluster comporte deux étapes : s-1234ABCDEFGH et s-5678IJKLMNOP. La première étape est située dans /mnt/var/log/hadoop/steps/s-1234ABCDEFGH/ et la deuxième dans /mnt/var/log/hadoop/steps/s-5678IJKLMNOP/.

Les journaux d'étapes rédigés par Amazon EMR sont les suivants.

  • Contrôleur : Informations sur le traitement de l'étape. Si votre étape échoue lors du chargement, vous pouvez trouver la trace de la pile dans ce journal.

  • syslog : Décrit l'exécution des tâches Hadoop au cours de l'étape.

  • stderr : Le canal d'erreur standard de Hadoop pendant le traitement de l'étape.

  • stdout : Le canal de sortie standard de Hadoop pendant le traitement de l'étape.

Afficher des fichiers journaux sur le nœud primaire avec l'interface AWS CLI.
  1. Utilisez le protocole SSH pour vous connecter au nœud primaire, comme décrit dans Connexion au nœud primaire à l'aide de SSH.

  2. Accédez au répertoire qui contient les informations du fichier journal que vous souhaitez afficher. Le tableau précédent fournit une liste des types de fichiers journaux qui sont disponibles et leur emplacement. L'exemple suivant montre la commande permettant de naviguer dans le journal d'étape à l'aide d'un ID, s-1234ABCDEFGH.

    cd /mnt/var/log/hadoop/steps/s-1234ABCDEFGH/
  3. Utilisez la visionneuse de fichier de votre choix pour afficher le fichier journal. L'exemple suivant utilise la commande less Linux pour afficher le fichier journal controller.

    less controller

Afficher des fichiers journaux archivés dans Amazon S3

Par défaut, les clusters Amazon EMR lancés à l'aide de la console archivent automatiquement les fichiers journaux dans Amazon S3. Vous pouvez spécifier le chemin d'accès à votre propre journal ou autoriser la console à générer automatiquement un chemin d'accès au journal pour vous. Pour les clusters lancés à l'aide de l'interface de ligne de commande ou de l'API, vous devez configurer manuellement l'archivage des journaux Amazon S3.

Lorsqu'Amazon EMR est configuré pour archiver les fichiers journaux dans Amazon S3, il stocke les fichiers dans l'emplacement S3 spécifié, dans le dossier /cluster-id/, où cluster-id est l'identifiant du cluster.

Le tableau suivant répertorie quelques-uns des fichiers journaux disponibles dans Amazon S3.

Emplacement Description

/cluster-id/node/

Journaux de nœud, y compris les journaux d'action d'amorçage, d'état de l'instance et des applications pour le nœud. Les journaux de chaque nœud sont stockés dans un dossier identifié par l'identifiant de l'instance EC2 de ce nœud.

/cluster-id/node/instance-id/application

Journaux créés par chaque application ou démon rattaché à une application. Par exemple, le journal du serveur Hive est situé dans cluster-id/node/instance-id/hive/hive-server.log.

/cluster-id/steps/step-id/

Journaux d'étape qui contiennent des informations sur le traitement de l'étape. La valeur de step-id indique l'identifiant d'étape attribué par Amazon EMR. Par exemple, un cluster comporte deux étapes : s-1234ABCDEFGH et s-5678IJKLMNOP. La première étape est située dans /mnt/var/log/hadoop/steps/s-1234ABCDEFGH/ et la deuxième dans /mnt/var/log/hadoop/steps/s-5678IJKLMNOP/.

Les journaux d'étapes rédigés par Amazon EMR sont les suivants.

  • Contrôleur : Informations sur le traitement de l'étape. Si votre étape échoue lors du chargement, vous pouvez trouver la trace de la pile dans ce journal.

  • syslog : Décrit l'exécution des tâches Hadoop au cours de l'étape.

  • stderr : Le canal d'erreur standard de Hadoop pendant le traitement de l'étape.

  • stdout : Le canal de sortie standard de Hadoop pendant le traitement de l'étape.

/cluster-id/containers

Journaux de conteneur d'applications. Les journaux pour chaque application YARN sont stockés à ces emplacements.

/cluster-id/hadoop-mapreduce/

Journaux contenant des informations sur les détails de configuration et l'historique des tâches de MapReduce.

Afficher les fichiers journaux archivés sur Amazon S3 à l'aide de la console Amazon S3
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  2. Ouvrez le compartiment S3 spécifié lorsque vous avez configuré le cluster pour archiver les fichiers journaux dans Amazon S3.

  3. Accédez au fichier journal qui contient les informations à afficher. Le tableau précédent fournit une liste des types de fichiers journaux qui sont disponibles et leur emplacement.

  4. Téléchargez l'objet de fichier journal pour l'afficher. Pour obtenir des instructions, consultez Téléchargement d'un objet.

Afficher des fichiers journaux dans l'outil de débogage

Amazon EMR n'active pas automatiquement l'outil de débogage. Vous devez configurer celui-ci lorsque vous lancez le cluster. Notez que la nouvelle console Amazon EMR ne propose pas d'outil de débogage.

Afficher les journaux du cluster avec l'ancienne console
  1. Accédez à la nouvelle console Amazon EMR et sélectionnez Basculer vers l'ancienne console depuis le menu latéral. Pour plus d'informations sur ce qui vous attend lorsque vous passez à l'ancienne console, consultez la rubrique Utilisation de l'ancienne console.

  2. Sur la page Liste des clusters, cliquez sur l'icône des détails à côté du cluster que vous souhaitez afficher.

    La page de détails du cluster s'ouvre. Dans la section Étapes, les liens situés à droite de chaque étape affichent les différents types de journaux disponibles pour l'étape. Ces journaux sont générés par Amazon EMR.

  3. Pour afficher la liste des tâches Hadoop rattachées à une étape donnée, cliquez sur le lien Afficher les tâches à droite de l'étape.

  4. Pour afficher la liste des tâches Hadoop rattachées à une tâche donnée, cliquez sur le lien Afficher les tâches à droite de la tâche.

  5. Pour consulter la liste des tentatives effectuées par une tâche donnée pendant qu'elle tentait de terminer, cliquez sur le lien Afficher les tentatives situé à droite de la tâche.

  6. Pour consulter les journaux générés par une tentative de tâche, choisissez les liens stderr, stdout et syslog situés à droite de la tentative de tâche.

L'outil de débogage affiche les liens vers les fichiers journaux après le chargement par Amazon EMR des fichiers journaux dans votre compartiment sur Amazon S3. Etant donné que les fichiers journaux sont chargés sur Amazon S3 toutes les 5 minutes, les chargements des fichiers journaux peuvent prendre quelques minutes après la fin de l'étape.

Amazon EMR met à jour régulièrement l'état des travaux, des tâches et des tentatives de tâche Hadoop dans l'outil de débogage. Vous pouvez cliquer sur Refresh List (Actualiser la liste) dans les volets de débogage pour obtenir l'état le plus récent de ces éléments.