JobHistoryServer
历史服务器,管理者可以通过历史服务器查看已经运行完成的Mapreduce作业记录,比如用了多少个Map、多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。
默认情况下,历史服务器是没有启动的,需要进行参数配置才能启动。
参数配置
mapred-site.xml文件:
<property>
<name>mapreduce.jobhistory.address</name>
<value>10.4.1.1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>10.4.1.1:19888</value>
</property>
<property>
<name>mapreduce.jobhistory.joblist.cache.size</name>
<value>1000</value>
<description>default20000</description>
</property>
<property>
<name>mapreduce.jobhistory.cleaner.enable</name>
<value>true</value>
</property>
<property>
<name>mapreduce.jobhistory.cleaner.interval-ms</name>
<value>86400000</value>
<description>thejob history cleaner checks for files to delete, in milliseconds. Default86400000 (one day). Files are only deleted if they are olderthan</description>
</property>
<property>
<name>mapreduce.jobhistory.max-age-ms</name>
<value>432000000</value>
<description>Job history files olderthan this many milliseconds will be deleted when the history cleaner runs.Defaults to 604800000 (1 week)</description>
</property>
<!—存放已经运行完的作业目录>
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>${yarn.app.mapreduce.am.staging-dir}/history/done</value>
</property>
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>${yarn.app.mapreduce.am.staging-dir}/history/done_intermediate</value>
</property>
<property>
<name>yarn.app.mapreduce.am.staging-dir</name>
<value>/tmp/hadoop-yarn/staging</value>
</property>
进程启动
./mr-jobhistory-daemon.sh starthistoryserver
./yarn-daemon.sh start timelineserver
查看进程:
org.apache.Hadoop.yarn.server.applicationhistoryservice.ApplicationHistoryServer
org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer
历史记录信息
历史作业记录是存放在HDFS目录中;
对于每一个Hadoop历史作业记录相关信息都用两个文件存放,后缀名分别为.jhist,.xml
*.jhist文件里存放的是具体Hadoop作业的详细信息
*.xml文件里面记录的是相应作业运行时候的完整参数配置
每一个作业的历史记录都存放在一个单独的文件中