MapReduce运行日志通过Shell脚本聚合统一查看

 

MapReduce运行日志会在hadoop 安装目录logs/下的userlogs文件夹下,在不同的节点上有自己的jobid号的文件夹日志

查看MR任务报告:
命令:yarn application -status application_ID
查看mapreduce log日志:
命令:yarn logs -applicationId application_ID > log.txt
查看日志也可以通过网页的客户端进入查看

MR任务报告可以看到 application_ID job_ID
MapReduce运行日志通过Shell脚本聚合统一查看

 

写个Shell脚本可以做到将每个slave节点的MR运行日志拉取过来  通过grep过滤查看到我们想要的MR任务的日志 不用再去找到那个节点再去节点上执行查看命令了。

-----------------------------------------分割线---------------------------------------------------

1.首先关闭MR的日志聚合功能

 修改yarn-site.xml 关闭日志聚合
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>false</value>
    </property>

2.创建脚本 scanLogShell.sh

if [ $# -le 0 ]
then
    echo 缺少参数
    exit 1
fi

logtype=out

if [ $# -ge 1 ]
then
    logtype=${2}
fi 

for n in `cat /opt/install/hadoop-2.5.2/etc/hadoop/slaves`
do
    echo ===========查看节点 $n============
    ssh $n "cat ~/logs/yarn/userlogs/${1}/container_*/*${logtype}|grep com.dingyufei"
done

3.修改脚本权限,运行脚本

    chmod +x scanLogShell.sh 

   ./scanLogShell.sh application_1558968514803_0001

4.大功告成~ 

上一篇:MR Combiner


下一篇:【题解】BZOJ P1057 DP