伪分布式模式下Hadoop MapReduce作业历史日志获取问题咨询
伪分布式Hadoop作业历史日志相关问题解答
首先明确回答你的问题:伪分布式模式下Hadoop是会生成作业历史日志的,你找不到指定路径的问题大概率是路径不正确或者作业历史服务未启动导致的,下面一步步帮你排查解决:
先确认作业历史服务是否启动
Hadoop 3.x伪分布式环境下,JobHistoryServer(作业历史服务)默认不会随集群自动启动,需要手动开启:$HADOOP_HOME/bin/mapred --daemon start historyserver执行完后用
jps命令检查,如果输出里有JobHistoryServer进程,说明服务启动成功。修正日志存储路径的查询方式
你尝试的/tmp/hadoop-uname/mapred路径里的uname是占位符,需要替换成你的实际Linux用户名(比如你的用户是hadoop,路径就应该是/tmp/hadoop-hadoop/mapred)。不过更准确的是,Hadoop 3.x的作业历史日志默认存储在HDFS的/tmp/mapred/system目录下,你可以先执行这个命令查看:./hdfs dfs -ls /tmp/mapred/system如果之前运行过MapReduce作业,这里会出现对应作业ID的日志目录。
更便捷的日志查看方式
启动JobHistoryServer后,直接通过Web UI查看会更直观:在浏览器访问http://localhost:19888,就能看到所有已完成的作业列表,点击作业ID就能查看详细的日志信息。
也可以用命令行工具查询:# 查看所有作业 mapred job -list all # 查看指定作业的日志,替换<job-id>为实际作业ID mapred job -logs <job-id>
内容的提问来源于stack exchange,提问作者PHcoDer
相关产品推荐
相关产品推荐

