如何查看MapReduce执行的程序中的输出日志
2016-11-29 13:35
507 查看
我们开发程序的时候,好多人都喜欢用sysout输出内容来查看运行情况。但是在MR程序里写了之后,却不知道去哪里查找,可以参考这篇文章。
第一种方法,我们可以在MapReduce任务查看页面找到这些日志
1.在MapReduce任务查看页面找到任务,点击进入
2.在任务详情页最下面由执行了该任务的节点
3.在节点的web地址后面加上logs/userlogs就能看到application列表,选择自己要找的
4.依次查看container
5.从container进去之后就是最终要找的日志了
stderr:输出System.err输出的信息;
stdout:输出System.out输出的信息
syslog:输出日志工具(比如Slf4j,log4j)输出的信息
可以看出通过管理页面查找sysout日志是十分麻烦的,而且mapper和reducer的日志不在一起,如果有多个reducer的话查看起来更是不方便
我们的代码(mapper,reducer)是放到了Yarn上面去执行,Yarn的日志存放地址是在yarn-env.sh中配置的,如下
我们可以去节点上面查找;为了方便快捷 直接用脚本搞定
scanMRLog.sh [applicationid] [logtype 可选]
查看的时候只需要一行命令搞定,mapper,reducer里面的输出就都能看到了。默认查询out,其他可输入类型还有 err,log
第一种方法,我们可以在MapReduce任务查看页面找到这些日志
1.在MapReduce任务查看页面找到任务,点击进入
2.在任务详情页最下面由执行了该任务的节点
3.在节点的web地址后面加上logs/userlogs就能看到application列表,选择自己要找的
4.依次查看container
5.从container进去之后就是最终要找的日志了
stderr:输出System.err输出的信息;
stdout:输出System.out输出的信息
syslog:输出日志工具(比如Slf4j,log4j)输出的信息
可以看出通过管理页面查找sysout日志是十分麻烦的,而且mapper和reducer的日志不在一起,如果有多个reducer的话查看起来更是不方便
我们的代码(mapper,reducer)是放到了Yarn上面去执行,Yarn的日志存放地址是在yarn-env.sh中配置的,如下
我们可以去节点上面查找;为了方便快捷 直接用脚本搞定
scanMRLog.sh [applicationid] [logtype 可选]
if [ $# -le 0 ] then echo 缺少参数 exit 1 fi logtype=out if [ $# -ge 1 ] then logtype=${2} fi for n in `cat ${HADOOP_HOME}/etc/hadoop/slaves` do echo ===========查看节点 $n============ ssh $n "cat ~/logs/yarn/userlogs/${1}/container_*/*${logtype}" done
查看的时候只需要一行命令搞定,mapper,reducer里面的输出就都能看到了。默认查询out,其他可输入类型还有 err,log
# 命令中的appId从MRWeb管理端就能看到 sh test.sh application_1479689852668_0197
相关文章推荐
- Android SDK开发中,如何在程序中输出日志查看日志
- Android SDK下, 如何在程序中输出日志 以及如何查看日志.
- Android SDK下, 如何在程序中输出日志 以及如何查看日志.
- 使用logwrapper工具将可执行程序的输出写入日志系统
- [导入]java中如何执行本地程序并捕获out和err输出
- 使程序在后台执行,并将日志输出至文件
- Linux CRON定时执行JAR程序时,log4j日志无法输出到指定目录的问题
- 如何查看ibatis的执行日志
- 如何查看hadoop程序中自己添加的日志
- hadoop如何执行自己编写的MapReduce程序
- 如何执行本地程序并捕获out和err输出(written in Java)
- hadoop如何执行自己编写的MapReduce程序
- 如何在Android SDK 下查看应用程序输出日志的方法
- hadoop mapreduce 程序调试日志合并查看shell
- java中如何执行本地程序并捕获out和err输出
- 如何查看一个运行的exe执行程序需要有哪些DLL动态链接库
- golang 如何查看程序执行消耗时间
- 如何快速的知道程序中输入的大段数据哪一行没有被正确执行或输出
- MapReduce 编程 系列七 MapReduce程序日志查看
- 控制台程序 如何查看所有的输出结果