我一直在尝试在任务级别设置 Hadoop 日志记录,但到目前为止没有成功。
我修改了 log4j.properties 并将许多参数设置为 DEBUG 级别:
- log4j.logger.org.apache.hadoop.mapred.Task=DEBUG
- log4j.logger.org.apache.hadoop.mapred.MapTask=DEBUG
- log4j.logger.org.apache.hadoop.mapred.ReduceTask=DEBUG
- log4j.logger.org.apache.hadoop = DEBUG
但是,我无法从正在记录的任务中看到任何 LOG.info 或 LOG.debug 消息。这是在启用 Yarn 的情况下。
我不确定我在配置中遗漏了什么以使其正常工作。我想我最终应该在 nodemanage.out 日志文件中获取这些消息吗?
最佳答案
您应该能够从 Yarn 控制台看到您的应用程序日志消息,但到达那里的路径有几个步骤。
1.) 转到 Yarn 控制台,通常是 http://yourserver:8088 2.) 转到工具->本地日志 3.) 找到“用户日志”链接并选择它 4.) 找到您的应用程序,例如带有“application”前缀而不是“job”前缀的 MapReduce 作业名称并选择它。 5.) 然后在容器日志下,通常是“syslog”,您应该可以找到您的作业级别日志记录。
关于使用 log4j 的 Hadoop Yarn 任务级日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11225590/