hadoop拒绝history通过19888端口连接查看已完成的job的日志

1、查看 mapred_site.xml

<property>
	<name>mapreduce.jobhistory.address</name>
	<value>hadoop01:10020</value>
</property>

<!--历史任务的外部监听页面-->
<property>
	<name>mapreduce.jobhistory.webapp.address</name>
	<value>hadoop:19888</value>
</property>

<!-- MapReduce作业产生的日志存放位置 -->
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>/mr-history/tmp</value>
</property>

<!-- 开启日志聚合 由mrjobhistory管理的日志-->
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>/mr-history/done</value>
</property>

2、查看服务是否启动启动服务(historyserver)

启动命令:mr-jobhistory-daemon.sh start historyserver

关闭命令:mr-jobhistory-daemon.sh stop historyserver

3、此时访问19888端口仍会报错

错误为:Aggregation is not enabled,Try the nodemanager at slave2:43827 Or See application log at http://slave2:43827/node/application/XXXXXXX错误

这是由于yarn中没有配置聚合日志,在yarn-site-xml文件中配置

<!-- 开启日志聚合 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志聚合目录 container的-->
<property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/user/container/logs</value>
</property> 

配置完成以后可以在hdfs上面的/user/container/logs 查看

这里你也许还会遇见问题 访问目录没有权限!!!

hdfs dfs -chmod 777 /user/container/logs/root/logs

成功!!!!!!!!!

更多推荐