Hadoop 历史服务器获取作业运行信息
来源:互联网 发布:搜狗排名优化软件 编辑:程序博客网 时间:2024/06/13 10:04
本文部分资料转自博客 Hadoop 历史服务器与日志详解
Hadoop 历史服务器
MapReduce 的 JobHistory Server,这是一个独立的服务,可通过 web UI 展示历史作业日志,之所以将其独立出来,是为了减轻 ResourceManager 负担。JobHistory Server 将会分析作业运行日志,并展示作业的启动时间、结束时间、各个任务的运行时间,各种Counter数据等,并产生一个指向作业和任务日志的链接,其默认端口号为 19888。通常可以启动在一台独立的机器上。
当我们成功的完成了一个Hadoop Job的时候,在某个时刻我们想查看这次Job运行的相关的信息,那么我们就可以通过Hadoop JobHistory Server来进行查看,每次运行完成的Job会在设置的”mapreduce.jobhistory.done-dir” 值的目录下面产生两个文件,一个是以.jhist结尾的文件,另一个是.xml结尾的文件,.jhist结尾的文件里面的信息主要是给Web端来进行使用过的。而xml文件中,就是这次job的所有配置参数的信息,比如我们可以在这个文件中查找输入和输出路径。下面的图片是.jhist和.xml文件样例图片:
xml文件中的数据大致样例:
历史服务器配置
要使用历史服务器,你首先需要配置相应的参数的信息,然后要启动历史服务器,你需在 mapred-site.xml 中对其进行配置
<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,大家可以一定要根据自己的情况进行相应的配置,最好别用默认的 0.0.0.0 ,参数的格式是 host:port。
在 Hadoop 历史服务器的 WEB UI 上最多显示 20000 个历史的作业记录信息;其实我们可以在 mapred-site.xml 文件中通过下面的参数进行配置,然后重启一下 Hadoop jobhistory 即可。
<property> <name>mapreduce.jobhistory.joblist.cache.size</name> <value>20000</value></property>
启动历史服务器
配置完上述的参数之后,重新启动 Hadoop jobhistory,这样我们就可以在 mapreduce.jobhistory.webapp.address 参数配置的主机上对 Hadoop 历史作业情况经行查看。
只能在 mapred-site.xml 文件中 mapreduce.jobhistory.webapp.address 配置参数所指定的那台机器上执行:
sbin/mr-jobhistory-daemon.sh start jobhistoryserver
作业运行日志配置
历史作业的记录里面包含了一个作业用了多少个 Map、用了多少个 Reduce、作业提交时间、作业启动时间、作业完成时间等信息;这些信息对分析作业是很有帮助的,我们可以通过这些历史作业记录得到每天有多少个作业运行成功、有多少个作业运行失败、每个队列作业运行了多少个作业等很有用的信息。这些历史作业的信息是通过下面的信息配置的:
在 mapred-site.xml 文件中进行配置:
<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>
作业运行日志产生过程
启动作业的 ApplicationMaster 并写日志至 HDFS
ResourceManager 启动作业的 ApplicationMaster
- ApplicationMaster 运行过程中,将日志写到 ${yarn.app.mapreduce.am.staging-dir}/yarn/.staging/job_XXXXX_XXX/ 下
- 参数 yarn.app.mapreduce.am.staging-dir 的默认值是 /tmp/hadoop-yarn/staging
- 该目录下将存在3个文件,分别是以 “.jhist“、”.summary” 和 “.xml” 结尾的文件,分别表示作业运行日志、作业概要信息和作业配置属性,其中,作业概要信息只有一句话,举例如下:
jobId=job_1385051297072_0002,submitTime=1385393834983,launchTime=1385393974505,firstMapTaskLaunchTime=1385393976706,firstReduceTaskLaunchTime=1385393982581,finishTime=1385393985417,resourcesPerMap=1024,resourcesPerReduce=1024,numMaps=8,numReduces=1,user=yarn,queue=default,status=SUCCEEDED,mapSlotSeconds=47,reduceSlotSeconds=5,jobName=QuasiMonteCarlo
HDFS 内转移历史运行日志
- 所有任务运行完成后,意味着,该作业运行完成
- 此时ApplicationMaster 将三个文件拷贝到
mapreduce.jobhistory.intermediate−done−dir/ {username} 目录下,拷贝后的文件名后面添加 “_tmp” - 其中 mapreduce.jobhistory.intermediate-done-dir 默认值是 ${yarn.app.mapreduce.am.staging-dir}/history/done_intermediate
- ApplicationMaster 将拷贝完成的三个文件重新命名成 “.jhist”、”.summary” 和 “.xml” 结尾的文件(去掉 “_tmp”)
周期转移 done_intermediate 中的日志文件到 done 目录
- 周期性扫描线程定期将 done_intermediate 的日志文件转移到 done 目录
- 通过参数 mapreduce.jobhistory.done-dir 配置,默认值为 ${yarn.app.mapreduce.am.staging-dir}/history/done)下
- 同时删除 “.summary” 文件(该文件中的信息,.jhist 文件中都有)
- ApplicationMaster 移除 ${yarn.app.mapreduce.am.staging-dir}/yarn/.staging/job_XXXXX_XXX/ 目录
- Hadoop 历史服务器获取作业运行信息
- 获取作业运行的信息
- Hadoop历史服务器详解
- hadoop历史服务器
- Hadoop历史服务器详解
- hadoop 日志及历史服务器
- 查看SQLServer 代理作业的历史信息
- Hadoop 历史服务器与日志详解
- Hadoop 历史服务器与日志详解
- Spark作业信息的获取
- Yarn作业信息的获取
- 怎样获取服务器信息
- 获取服务器硬件信息
- 获取数据库服务器信息
- java 获取服务器信息
- 获取服务器相关信息
- 获取服务器信息
- php获取服务器信息
- 在MyEclipse中出现了The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced fro
- 【jzoj5102】【GDOI2017 day2】【小学生语文题】【动态规划】
- jQuery怎么输出选择器选择出来的$对象的html代码,包括自己
- 串口 来做 控制台
- 总结一种使用OpenCV进行双目校正的方法其流程和所用函数
- Hadoop 历史服务器获取作业运行信息
- Java编程思想笔记第十章(内部类)
- dubbo搭建
- python motor异步mongodb操作
- angularJs中跳转到指定的锚点详解($anchorScroll)
- 单词记背(37)
- 机器学习小组知识点40:岭回归(L2)和LASSO(L1)
- 手机卫士day10
- JDK源码学习之String