Hadoop自带了一个历史服务器,可以通过历史服务器查看已经运行完的Mapreduce作业记录,比如用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。默认情况下,Hadoop历史服务器是没有启动的,我们可以通过下面的命令来启动Hadoop历史服务器
- $ sbin/mr-jobhistory-daemon.sh start historyserver
复制代码
这样我们就可以在相应机器的19888端口上打开历史服务器的WEB UI界面。可以查看已经运行完的作业情况。历史服务器可以单独在一台机器上启动,主要是通过以下的参数配置:
- <property>
- <name>mapreduce.jobhistory.address</name>
- <value>0.0.0.0:10020</value>
- </property>
-
- <property>
- <name>mapreduce.jobhistory.webapp.address</name>
- <value>0.0.0.0:19888</value>
- </property>
复制代码
上面的参数是在mapred-site.xml文件中进行配置,mapreduce.jobhistory.address和mapreduce.jobhistory.webapp.address默认的值分别是0.0.0.0:10020和0.0.0.0:19888,大家可以根据自己的情况进行相应的配置,参数的格式是host:port。配置完上述的参数之后,重新启动Hadoop jobhistory,这样我们就可以在mapreduce.jobhistory.webapp.address参数配置的主机上对Hadoop历史作业情况经行查看。
很多人就会问了,这些历史数据是存放在哪里的?是存放在HDFS中的,我们可以通过下面的配置来设置在HDFS的什么目录下存放历史作业记录:
- <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>
- <description>这个配置项是放在yarn-site.xml里面的。该参数指定的目录在hdfs上,主要用来存放application的说明信息,包括依赖的jar,输入数据的划分信息以及作业的执行计划等</descrption>
- </property>
复制代码
上面的配置都默认的值,我们可以在mapred-site.xml文件中进行修改。其中,mapreduce.jobhistory.done-dir参数的意思是在什么目录下存放已经运行完的Hadoop作业记录;mapreduce.jobhistory.intermediate-done-dir的意思是正在运行的Hadoop作业记录。我们可以到mapreduce.jobhistory.done-dir参数配置的目录下看看里面存放的是什么东西:
- [wyp@master /home/wyp/hadoop]# bin/hadoop fs -ls /jobs/done/
- Found 2 items
- drwxrwx--- - wyp supergroup 0 2013-12-03 23:36 /jobs/done/2013
- drwxrwx--- - wyp supergroup 0 2014-02-01 00:02 /jobs/done/2014
-
- [wyp@master /home/wyp/hadoop]# bin/hadoop fs -ls /jobs/done/2014/02/16
- Found 27 items
- drwxrwx--- - wyp supergroup 0 2014-02-16 02:02 /jobs/done/2014/02/16/001216
- drwxrwx--- - wyp supergroup 0 2014-02-16 02:44 /jobs/done/2014/02/16/001217
- drwxrwx--- - wyp supergroup 0 2014-02-16 03:38 /jobs/done/2014/02/16/001218
- drwxrwx--- - wyp supergroup 0 2014-02-16 04:20 /jobs/done/2014/02/16/001219
- drwxrwx--- - wyp supergroup 0 2014-02-16 05:14 /jobs/done/2014/02/16/001220
-
- [wyp@master hadoop]# bin/hadoop fs -ls /jobs/done/2014/02/16/001216
- Found 1318 items
- -rwxrwx--- 3 wyp supergroup 45541335 2014-02-16 00:11 /jobs/done/2014
- /02/16/001216/job_1388830974669_1216161-1392478837250-wyp-insert+overwrite
- +table+qt_city_query_ana...e%28Stage-1392480689141-5894-33-SUCCEEDED-wyp.jhist
- -rwxrwx--- 3 wyp supergroup 193572 2014-02-16 00:11 /jobs/done
- /2014/02/16/001216/job_1388830974669_1216161_conf.xml
- -rwxrwx--- 3 wyp supergroup 45594759 2014-02-16 00:11 /jobs/done/2014
- /02/16/001216/job_1388830974669_1216162-1392478837250-wyp-insert+overwrite
- +table+qt_city_query_ana...e%28Stage-1392480694818-5894-33-SUCCEEDED-wyp.jhist
- -rwxrwx--- 3 wyp supergroup 193572 2014-02-16 00:11 /jobs/done
- /2014/02/16/001216/job_1388830974669_1216162_conf.xml
复制代码
通过上面的结果我们可以得到一下几点:
(1)、历史作业记录是存放在HDFS目录中;
(2)、由于历史作业记录可能非常多,所以历史作业记录是按照年/月/日的形式分别存放在相应的目录中,这样便于管理和查找;
(3)、对于每一个Hadoop历史作业记录相关信息都用两个文件存放,后缀名分别为*.jhist,*.xml。*.jhist文件里存放的是具体Hadoop作业的详细信息,如下:
- {
- "type": "JOB_INITED",
- "event": {
- "org.apache.hadoop.mapreduce.jobhistory.JobInited": {
- "jobid": "job_1388830974669_1215999",
- "launchTime": 1392477383583,
- "totalMaps": 1,
- "totalReduces": 1,
- "jobStatus": "INITED",
- "uberized": false
- }
- }
- }
复制代码
这是Hadoop JOB初始化的一条信息,通过观察我们知道,*.jhist文件里面全部都是Json格式的数据。根据type进行区分这条Json的含义,在Hadoop中,总共包含了一下几个type:
- "JOB_SUBMITTED",
- "JOB_INITED",
- "JOB_FINISHED",
- "JOB_PRIORITY_CHANGED",
- "JOB_STATUS_CHANGED",
- "JOB_FAILED",
- "JOB_KILLED",
- "JOB_ERROR",
- "JOB_INFO_CHANGED",
- "TASK_STARTED",
- "TASK_FINISHED",
- "TASK_FAILED",
- "TASK_UPDATED",
- "NORMALIZED_RESOURCE",
- "MAP_ATTEMPT_STARTED",
- "MAP_ATTEMPT_FINISHED",
- "MAP_ATTEMPT_FAILED",
- "MAP_ATTEMPT_KILLED",
- "REDUCE_ATTEMPT_STARTED",
- "REDUCE_ATTEMPT_FINISHED",
- "REDUCE_ATTEMPT_FAILED",
- "REDUCE_ATTEMPT_KILLED",
- "SETUP_ATTEMPT_STARTED",
- "SETUP_ATTEMPT_FINISHED",
- "SETUP_ATTEMPT_FAILED",
- "SETUP_ATTEMPT_KILLED",
- "CLEANUP_ATTEMPT_STARTED",
- "CLEANUP_ATTEMPT_FINISHED",
- "CLEANUP_ATTEMPT_FAILED",
- "CLEANUP_ATTEMPT_KILLED",
- "AM_STARTED"
复制代码
而*.xml文件里面记录的是相应作业运行时候的完整参数配置,大家可以进去查看一下。
(4)、每一个作业的历史记录都存放在一个单独的文件中。
mapreduce.jobhistory.intermediate-done-dir配置的目录下主要存放的是当前正在运行的Hadoop任务的记录相关信息,感兴趣的同学可以进去看看,这里就不介绍了。
如果对Hadoop历史服务器WEB UI上提供的数据不满意,我们就可以通过对mapreduce.jobhistory.done-dir配置的目录进行分析,得到我们感兴趣的信息,比如统计某天中运行了多少个map、运行最长的作业用了多少时间、每个用户运行的Mapreduce任务数、总共运行了多少Mapreduce数等信息,这样对监控Hadoop集群是很好的,我们可以根据那些信息来确定怎么给某个用户分配资源等等。
细心的同学可能发现,在Hadoop历史服务器的WEB UI上最多显示20000个历史的作业记录信息;其实我们可以通过下面的参数进行配置,然后重启一下Hadoop jobhistory即可。
- <property>
- <name>mapreduce.jobhistory.joblist.cache.size</name>
- <value>20000</value>
- </property>
复制代码
分享到:
相关推荐
在探讨Hadoop1.x与Hadoop2.x配置的异同之前,我们首先简要回顾一下GridGain In-Memory HDFS的特性,这是基于行业首个高性能双模式内存文件系统,完全兼容HDFS。GridGain FileSystem(GGFS)作为Hadoop HDFS的即插即...
包含了hadoop配置文件core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml
文档中对于Hadoop 3.x常用配置与Hadoop 2.x的对比,提供了一系列常见配置项的解释,例如: - 如何指定Hadoop临时路径,这关系到Hadoop执行过程中临时文件的存放。 - dfs.blocksize可以使用的单位,文件块大小是HDFS...
理清Hadoop1.x与Hadoop2.x区别,对比分析。 Hadoop是大数据惊世之作,必学的东西,需要知道: 它由哪些部分组成? 各自的作用是什么? 如果工作的?
在这篇文章中,我们将讨论Hadoop 2.x与Hadoop 3.x之间的比较。 Hadoop3版本中添加了哪些新功能,Hadoop3中兼容的Hadoop 2程序,Hadoop 2和Hadoop 3有什么区别? 二、Hadoop 2.x与Hadoop 3.x比较 本节将讲述Hadoop 2...
标题“win32win64hadoop2.7.x.hadoop.dll.bin”暗示了这是一个与Hadoop 2.7.x版本相关的二进制文件,适用于32位和64位的Windows操作系统。描述中提到,这些文件是用于在Windows环境下部署Hadoop时必需的组件,并且在...
本文将详细介绍如何在三节点环境下安装和配置Hadoop 2.x 集群。 一、环境准备 在开始Hadoop的安装前,你需要确保你的硬件环境满足基本需求,包括足够的内存、硬盘空间以及至少三台服务器或虚拟机。每台节点应安装...
### Hadoop 2.x 入门知识点概览 #### 一、大数据应用发展前景 随着信息技术的飞速发展,数据量呈爆炸式增长,这不仅带来了挑战也孕育着新的机遇。根据2015年中国(深圳)IT领袖峰会的讨论,大数据正逐渐成为推动...
hadoop2.x 介绍,及对比hadoop1.x的区别。hadoop2.x的新特性的详细介绍。
2. **复制文件**: 解压后,你会找到`winutils.exe`和`hadoop.dll`。将这两个文件复制到你的Hadoop安装目录下的`bin`子目录。例如,如果Hadoop安装在`C:\hadoop\hadoop-2.9.x\bin`,则应该将这两个文件粘贴到这里。 3...
Hadoop 2.X HDFS源码剖析-高清-完整目录-2016年3月,分享给所有需要的人!
Hadoop2.x版本是对前一个版本的重大改进,它引入了YARN(Yet Another Resource Negotiator),这是一个资源管理和任务调度平台,它不仅改进了系统的可扩展性,还为各种数据处理模型提供了更好的支持。 《Hadoop2.x...
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider <name>dfs.ha.fencing.methods <value>sshfence <name>dfs.ha.fencing.ssh.private-key-files <value>/root/....
Hadoop 3.x系列是Hadoop的主要版本之一,相比之前的Hadoop 2.x,它引入了诸多改进和优化,提升了整体的存储性能和计算效率。在本文中,我们将深入探讨Hadoop 3.x的关键特性、优化之处以及如何获取和安装这个版本。 ...
Hadoop 2.x 是该框架的一个重要版本,引入了许多改进和优化,使得它更加适合企业级的大数据处理需求。本教程将详细讲解Apache Hadoop 2.x的安装过程,帮助初学者快速入门。 一、Hadoop的体系结构 Hadoop的核心由两...
Hadoop 2.x Administration Cookbook 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Hadoop是大数据技术中最重要的框架之一,是学习大数据必备的第一课,在Hadoop平台之上,可以更容易地开发和运行其他处理大规模数据的框架。尚硅谷Hadoop视频教程再次重磅升级!以企业实际生产环境为背景,增加了更...
hadoop2.x安装指南.
此外,`mapreduce.jobtracker.address`在旧版Hadoop中是必要的,但在Hadoop 2.x中已被替换为YARN相关配置。 在部署Hadoop 2.x单节点环境时,你需要先下载并安装Hadoop二进制包,然后根据你的硬件和需求调整上述配置...
这个压缩包文件“hadoop 2.X 伪分布式配置文件”是为在单个机器上模拟Hadoop集群的伪分布式环境而设计的。这种环境对于学习、测试和调试Hadoop组件非常有用,因为它避免了实际分布式环境中的复杂性,同时保留了主要...