Pratiques Standard pour la connexion de tâches MapReduce
J'essaie de trouver la meilleure approche pour la connexion de tâches MapReduce. Je suis l'aide de slf4j avec log4j appender que dans mes autres applications Java, mais depuis MapReduce travail s'exécute de manière distribuée sur l'ensemble du cluster je ne sais pas où dois-je régler l'emplacement du fichier journal, car il est un cluster partagé avec un accès limité à des privilèges.
Est-il des pratiques standard pour la connexion de tâches MapReduce, de sorte que vous pouvez facilement être en mesure de regarder les journaux à travers le cluster une fois le travail terminé?
OriginalL'auteur Frank | 2015-01-23
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser log4j qui est la valeur par défaut de journalisation que hadoop utilise. Donc, à partir de votre application MapReduce vous pourriez faire quelque chose comme ceci:
Cet exemple de code d'utilisateur log4j enregistreur de journal des événements pour les hérité Mappeur de l'enregistreur. Tous les journaux d'événements seront enregistrés à leur tâche respective du journal. Vous pourrez visiter les journaux de tâches de soit JobTracker(MRv1)/classe ResourceManager(MRv2) page web.
Si vous utilisez fil vous pouvez accéder aux journaux d'application en ligne de commande à l'aide de la commande suivante:
Tandis que si vous utilisez mapreduce v1, il n'y a pas un seul point d'accès en ligne de commande; par conséquent, vous devez vous connecter chaque TaskTracker et de regarder dans la configuration de la voie généralement
/var/log/hadoop/userlogs/attempt_<job_id>/syslog
spécifié dans${hadoop.log.dir}/userlogs
contient log4j de sortie.Je l'ai mise à jour de la réponse sur la façon d'accéder aux journaux en ligne de commande à partir de deux fils et mapreduce v1.
OriginalL'auteur Ashrith
À ajouter à @Ashrith 's réponse: vous pouvez afficher les tâches individuelles consigne via le JobTracker GUI. La tâche en cours d'exécution des tentatives sont visibles par le JT de Gui et vous pouvez cliquer sur l'un des suivants: stderr, stdout, et les journaux du système. Les journaux du système sont où vous trouverez votre log4j sorties.
OriginalL'auteur javadba