配置历史服务器
为了查看程序的历史运行情况,需要配置一下历史服务器。具体配置步骤如下:
1 ) 配置 mapred-site.xml
只需在mapred-site.xml配置文件加两个参数:
[leokadia@hadoop102 hadoop]$ vim mapred-site.xml
在该文件里面增加如下配置。
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop102:10020</value>
</property>
<!-- 历史服务器 web 端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop102:19888</value>
</property>
2 ) 在 hadoop102 启动历史服务器
[leokadia@hadoop102 hadoop]$ xsyn user/local/hadoop/mapred-site.xml
3 ) 在 hadoop102 启动历史服务器
先重新启动一下集群,先stop后start
4 )再启用历史服务器
[leokadia@hadoop102 hadoop]$ mapred --daemon start historyserver
5 )查看历史服务器是否启动
[leokadia@hadoop102 hadoop]$ jps
6 )测试
先创建一些数据
[leokadia@hadoop102 hadoop-3.1.3]$ hadoop fs -mkdir /input
[leokadia@hadoop102 hadoop-3.1.3]$ hadoop fs -put wcinput/word.txt /input
[leokadia@hadoop102 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input output
7 ) 查看 JobHistory
直接跳转到http://hadoop102:19888/jobhistory
配置日志的聚集
日志聚集概念:应用运行完成以后,将程序运行日志信息上传到 HDFS 系统上。
日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。
注意:开启日志聚集功能,需要重新启动 NodeManager 、ResourceManager 和HistoryServer。
开启日志聚集功能具体步骤如下:
1 ) 配置 yarn-site.xml
[leokadia@hadoop102 hadoop]$ vim yarn-site.xml
在该文件里面增加如下配置。
<!-- 开启日志聚集功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://hadoop102:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为 7 天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
2 ) 分发配置
[leokadia@hadoop102 hadoop]$ xsync usr/local/hadoop/yarn-site.xml
注意:分发完毕后一定要重启一下yarn
3 ) 关闭 NodeManager 、ResourceManager 和 HistoryServer
关闭HistoryServer
[leokadia@hadoop103 hadoop-3.1.3]$ mapred --daemon stop historyserver
关闭 NodeManager 、ResourceManager
[leokadia@hadoop103 hadoop-3.1.3]$ sbin/stop-yarn.sh
因为更改了yarn的配置,所以需要重启yarn
HDFS配置没有修改,所以不需要重启HDFS
4 ) 启动 NodeManager 、ResourceManage 和 HistoryServer
启动 NodeManager 、ResourceManage
[leokadia@hadoop103 ~]$ start-yarn.sh
启动 HistoryServer
[leokadia@hadoop102 ~]$ mapred --daemon start historyserver
现在查看logs页面
发现还是没有日志,需要再执行一遍任务就会出现日志
5 ) 删除 HDFS 上已经存在的 输出 文件
[leokadia@hadoop102 ~]$ hadoop fs -rm -r /output
6 ) 执行 WordCount 程序
[leokadia@hadoop102 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output
7 ) 查看日志
(1)历史服务器地址
http://hadoop102:19888/jobhistory
(2)历史任务列表