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
写个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.大功告成~