教程目录

0x00 教程内容

  1. JobHistory介绍
  2. 背景演示
  3. 实验步骤

0x01 JobHistory介绍

1. 作用

a. 记录已经运行完的MaprReduce作业信息到HDFS的目录上(默认是不开启的)

0x02 背景演示

1. 执行MapReduce作业

a. 参考文章:​​MapReduce入门例子之单词计数​​的代码

b. 执行MapReduce作业:

​yarn jar hadoop-learning-1.0.jar com.shaonaiyi.hadoop.WordCount hdfs://master:9999/files/put.txt hdfs://master:9999/output/wc/​

2. YARN界面查看

a. 打开Web UI界面

​http://master:8088​

b. 点击​​RUNNING​​​、​​FINISHED​

RUNNING:在执行的时候可以看到作业,执行完之后只能在FINISHED里面看到。

查看YARN上应用的日志之JobHistory_spark

3. 查看YARN作业的日志

a. 当作业跑完之后,进入​​FINISHED​​​,点击作业的​​History​​,会发现无法访问,这就是我们需要解决的问题:

查看YARN上应用的日志之JobHistory_spark_02

查看YARN上应用的日志之JobHistory_大数据_03

0x03 实验步骤

1. 配置JobHistory

a. 修改配置文件(​​$HADOOP_HOME/etc/hadoop/mapred-site.xml​​):

进入操作文件目录:

​cd $HADOOP_HOME/etc/hadoop/​

​vi mapred-site.xml​

<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
<description>MapReduce JobHistory Server IPC host:port</description>
</property>

<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
<description>MapReduce JobHistory Server Web UI host:port</description>
</property>

<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>/history/done</value>
</property>

<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>/history/done_intermediate</value>
</property>

查看YARN上应用的日志之JobHistory_yarn_04

b. 添加配置(​​$HADOOP_HOME/etc/hadoop/yarn-site.xml​​):

<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>

c. 同步配置文件到slave1、slave2:

​scp mapred-site.xml yarn-site.xml hadoop-sny@slave1:~/bigdata/hadoop-2.7.5/etc/hadoop/​

​scp mapred-site.xml yarn-site.xml hadoop-sny@slave2:~/bigdata/hadoop-2.7.5/etc/hadoop/​

2. 启动JobHistory

a. 重启YARN(master上执行)

​stop-yarn.sh​

​start-yarn.sh​

a. 启动JobHistory(master上执行)

​$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver​

b. 查看master进程,发现JobHistory的进程已经存在了:

​jps​

查看YARN上应用的日志之JobHistory_yarn_05

3. 校验JobHistory

a. 重新提交作业,等待运行完,点击​​FINISHED​​​里面作业的​​History​​​,进入界面后可在下面两个链接找到日志入口​​logs​​:

查看YARN上应用的日志之JobHistory_mapreduce_06

查看YARN上应用的日志之JobHistory_mapreduce_07

查看YARN上应用的日志之JobHistory_mapreduce_08

b. 同样,在配置的文件目录下也可以看到生成了文件:

​hadoop fs -ls /history​

一直点进去可以看到有两种文件:

该目录下将存在3个文件,分别是以“.jhist”、和“.xml”结尾的文件,分别表示作业运行日志和作业配置属性

0xFF 总结

  1. 停止JobHistory的history-server的命令为:
    ​​​$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh stop historyserver​
  2. 配置有多种方式,我这里提供的是我总结的比较好的方式。

作者简介:​邵奈一​

大学大数据讲师、大学市场洞察者、专栏编辑

公众号、微博、:​​邵奈一​

复制粘贴玩转大数据系列专栏已经更新完成,请跳转学习!