来自较旧版本的 Hadoop,我正在寻找 Hadoop 2.2.0 中的用户日志文件(log.index、stderr、stdout、syslog)。我首先查找 Web 界面,但在端口 50030 上没有任何运行。然后我查看了 HADOOP_HOME_DIR/logs,但没有看到 userlogs 目录,也没有看到带有作业编号的内容。我查看的下一个位置是临时目录 (/tmp),并找到看起来像它的文件夹:
$ find . -name "job_local1643076800_0001"
./hadoop-tom/mapred/staging/tom1643076800/.staging/job_local1643076800_0001
./hadoop-tom/mapred/local/localRunner/tom/jobcache/job_local1643076800_0001
./hadoop-tom/mapred/local/localRunner/tom/job_local1643076800_0001
在这里我找到了我期望的格式的目录: attempt_local1643076800_0001_m_000000_0 但它们是空的。
我还设置了 "export HADOOP_LOG_DIR=/path"
,但这也没有填满。我在这里缺少什么吗?或者当我从源代码构建 hadoop 时出了什么问题?
提前致谢!
最佳答案
用户日志应该在 logs
文件夹下的文件夹 userlogs
下。所以像 hadoop-2.2.0/logs/userlogs/
这样的东西。检查 jps
命令以查看您是否正在运行所需的进程 - 可能没有。如果不是,请检查您的日志(不是用户日志)是否有错误并检查您的配置。
如果您的流程没有运行,我想知道您是如何设法运行某些作业的。你的工作顺利完成了吗?
关于Hadoop 日志文件丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26246485/