一,MapReduce historyserver(历史服务)
1. 历史服务器:查看已经运行完成的应用记录
修改mapred-site.xml
指定historyserver的地址,内部和外部通信端口号,如果不指定默认是本机
historyserver是一个轻量级的服务,可以部署在任意一台节点上
2. 配置(在mapred-site.xml中):
注意:这里的端口号不能随便修改
<property>
<name>mapreduce.jobhistory.address</name>
<value>hostname:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hostname:19888</value>
</property>
3. 启动历史日志服务 sbin/mr-jobhistory-daemon.sh start historyserver
历史服务信息:
二,日志聚合功能
1. 修改yarn-site.xml
指定开启聚合功能
指定日志存放在HDFS上的时间期限,一般建议3-7天左右。
存放在HDFS的/tmp/logs/用户之下(若查看该目录提示:Permission denied: user=dr.who, access=READ_EXECUTE, inode="/tmp”。 可运行bin/hdfs dfs -chmod -R 755 /tmp修改权限进行访问)
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>106800</value>
</property>
2. 重启yarn进程并启动历史日志服务
先关掉之前yarn进程,和历史服务进程。
3.测试重新跑个测试mapreduce程序
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /wordcount/input/words.txt /wordcount/output2
日志显示结果:
4. 指定存放已经完成的Hadoop的作业记录
(接下来的4、5、6的操作可以使用默认的值,不用修改,只是让大家看下,是可以修改的)
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>${yarn.app.mapreduce.am.staging-dir}/history/done</value>
</property>
5. 指定存放的正在运行的Hadoop作业记录
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>${yarn.app.mapreduce.am.staging-dir}/history/done_intermediate</value>
<description></description>
</property>
6. 提交job作业记录的目录位置
<property>
<name>yarn.app.mapreduce.am.staging-dir</name>
<value>/tmp/hadoop-yarn/staging</value>
<description>The staging dir used while submitting jobs.</description>
</property>