zoukankan      html  css  js  c++  java
  • 如何查看MapReduce执行的程序中的输出日志

    我们开发程序的时候,好多人都喜欢用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 可选]

    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



  • 相关阅读:
    2020.2.5随笔
    2020.2.4
    2020.2.3随笔
    2020.2.2随笔
    2020/2/1随笔
    python3 百度AI-v3之 人脸对比 & 人脸检测 & 在线活体检测 接口
    python:Json模块dumps、loads、dump、load介绍
    python3之selenium.webdriver 库练习自动化谷歌浏览器打开百度自动百度关键字
    python之https爬虫出现 SSL: CERTIFICATE_VERIFY_FAILED (同时打开fiddler就会出现)
    调试python 程序的几种方法总结
  • 原文地址:https://www.cnblogs.com/TiestoRay/p/6113248.html
Copyright © 2011-2022 走看看