在Yarn中运行的任务产生的日志数据不能查看,为了查看程序的历史运行情况,需要配置历史日志服务器。
配置历史服务器日志
1 配置mapred-site.xml
vi mapred-site.xml
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>linux121:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>linux121:19888</value>
</property>
2 分发文件
安装rsync
yum install -y rsync
rsync -rvl /opt/crh/servers/hadoop-2.9.2/etc/hadoop root@linux122:/opt/crh/servers/hadoop-2.9.2/etc/hadoop
rsync -rvl /opt/crh/servers/hadoop-2.9.2/etc/hadoop root@linux123:/opt/crh/servers/hadoop-2.9.2/etc/hadoop
命令 选项参数 拷贝的文件路径/名称 目的用户@主机名:目的路径/名称
参数 | 功能 |
---|---|
-r | 递归 |
-v | 显示过程 |
-l | 拷贝符号链接 |
说明:rsync做文件复制要比scp的速度快,rsync只对差异文件做更新,而scp是把所有文件复制过去。
3 启动历史服务器
sbin/mr-jobhistory-daemon.sh start historyserver
4 查看Jobhistory
http://linux121:19888/jobhistory
配置日志的聚集
1 配置yarn-site.xml
vi yarn-site.xml
<!-- 日志聚集功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
2 分发文件到其他节点
与上面的命令一致
rsync -rvl /opt/crh/servers/hadoop-2.9.2/etc/hadoop root@linux122:/opt/crh/servers/hadoop-2.9.2/etc/hadoop
rsync -rvl /opt/crh/servers/hadoop-2.9.2/etc/hadoop root@linux123:/opt/crh/servers/hadoop-2.9.2/etc/hadoop
3 重新启动yarn集群和历史日志
linux121上
mr-jobhistory-daemon.sh stop historyserver
mr-jobhistory-daemon.sh start historyserver
linux123上
stop-yarn.sh
start-yarn.sh
4 校验
重新运行wordcount程序, 在web上是否能查看log
日志
http://linux121:19888/jobhistory
选择相应的jobid, 点击logs进行查看
版权声明:本文为weixin_44049709原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。