Hadoop JobHistory

hadoop jobhistory记录下已运行完的MapReduce作业信息并存放在指定的HDFS目录下,默认情况下是没有启动的,需要配置完后手工启动服务。

mapred-site.xml添加如下配置

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

<property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>hadoop000: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>

启动history-server:

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

停止history-server:

$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh stop historyserver

history-server启动之后,可以通过浏览器访问WEBUI: hadoop000:19888

在hdfs上会生成两个目录

hadoop fs -ls /history
drwxrwx---   - spark supergroup          0 2014-10-11 15:11 /history/done
drwxrwxrwt   - spark supergroup          0 2014-10-11 15:16 /history/done_intermediate

mapreduce.jobhistory.done-dir(/history/done): Directory where history files are managed by the MR JobHistory Server(已完成作业信息)
mapreduce.jobhistory.intermediate-done-dir(/history/done_intermediate): Directory where history files are written by MapReduce jobs.(正在运行作业信息)

测试:

通过hive查询city表观察hdfs文件目录和hadoop000:19888

hive> select id, name from city;

观察hdfs文件目录:

1)历史作业记录是按照年/月/日的形式分别存放在相应的目录(/history/done/2014/10/11/000000);

2)每个作业有2个不同的后缀名的记录:jhist和xml

hadoop fs -ls /history/done/2014/10/11/000000
-rwxrwx---   1 spark supergroup      22572 2014-10-11 15:23 /history/done/2014/10/11/000000/job_1413011730351_0002-1413012208648-spark-select+id%2C+name+from+city%28Stage%2D1%29-1413012224777-1-0-SUCCEEDED-root.spark-1413012216261.jhist
-rwxrwx---   1 spark supergroup     160149 2014-10-11 15:23 /history/done/2014/10/11/000000/job_1413011730351_0002_conf.xml

观察WEBUI: hadoop000:19888

在WEBUI中展现了每个job使用的Map/Reduce的数量、作业提交时间、作业启动时间、作业完成时间、Job ID、提交人User、队列等信息;

点击【job_1413011730351_0002】弹出页面显示类似信息:Aggregation is not enabled. Try the nodemanager at ......

解决方法: yarn-site.xml添加如下配置

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

重启yarn即可。

参考CDH文档:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.3.0-cdh5.0.0/hadoop-project-dist/hadoop-common/ClusterSetup.html

时间: 2024-10-26 08:10:50

Hadoop JobHistory的相关文章

用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(下)-搭建Hadoop集群

上篇:用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(上)-快速上手Docker 上篇介绍了快速上手Docker部分,下面接着介绍搭建Hadoop集群部分. 六.搭建Hadoop伪分布模式 我们先用前面创建的这个容器来搭建Hadoop伪分布模式做测试,测试成功后再搭建完全分布式集群. 1.SSH这个centos容器可以看做是一个非常精简的系统,很多功能没有,需要自己安装.Hadoop需要SSH,但容器没有自带,需要我们安装.①安装SSH # yum -y ins

使用sqoop从mysql导入数据到hive

前言 这篇文章主要是用sqoop从mysql导入数据到hive时遇到的坑的总结. 环境: 系统:Centos 6.5 Hadoop:Apache,2.7.3 Mysql:5.1.73 JDK:1.8 Sqoop:1.4.7 Hadoop以伪分布式模式运行. 一.使用的导入命令 我主要是参考一篇文章去测试的,Sqoop: Import Data From MySQL to Hive. 参照里面的方法,在mysql建了表,填充了数据,然后按照自己的情况输入了命令: sqoop import --co

测试搭建成功的单机hadoop环境

1.关闭防火墙service iptables stop,(已经这是开机关闭的忽略) 2.进入hadoop目录,修改hadoop配置文件(4个) core-site.xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost.localdomain:8020</value> </property> <property

hadoop全分布模式环境搭建

这是我第一次搭建全分布模式,本文都是参照网友教程,按照我自己的实践过程将其进行组织.我是利用三台虚拟机进行搭建的,每台虚拟机都是ubuntuserver16.04.1(64位).搭建过程中有很多步骤和参数配置我还在研究,具体原理我现在无法讲清楚,等以后知识到我了我再来修改本文的不足和完善.文末有参考文章,大家可以综合参考. 一 集群搭建准备 1 虚拟机:三个虚拟机均为ubuntuserver16.04.1(ubuntu-16.04.1-desktop-amd64.iso)操作系统,虚拟机主机名(

Hadoop配置文档

预节 在这一节中,笔者主要向大家介绍了该配置文档中,所用到的Linux命令和Linux的帮助. 终端提示信息 在Linux中,终端的每一行都有提示信息,其包含了当前终端登录的用户,当前登录的主机,当前终端所在的目录. 如:[[email protected] ~]$其格式为:[[用户名]@[hosts主机名或主机ip [当前所在路径]]$解析后可以知道,例子给的提示,实际上代表的是:当前终端登录的主机为master,所有的操作都是针对master的,登录主机的用户为frank,当前终端cd命令进

Hadoop源码编译与调试汇总

虽然在运行Hadoop的时候可以打印出大量的运行日志,但是很多时候只通过打印这些日志是不能很好地跟踪Hadoop各个模块的运行状况.这时候编译与调试Hadoop源码就得派上场了.这也就是今天本文需要讨论的. 先说说怎么编译Hadoop源码,本文主要介绍在Linux环境下用Maven来编译Hadoop.在编译Hadoop之前,我们需要准备好编译环境: 1.安装好1.6或以上的JDK;2.安装Maven,被做好相应的配置;3.安装ProtocolBuffer 2.5.0,MapReduce和HDFS

hadoop安装教程

hadoop的核心 Hadoop的核心就是HDFS和MapReduce,而两者只是理论基础,不是具体可使用的高级应用,Hadoop旗下有很多经典子项目,比如HBase.Hive等,这些都是基于HDFS和MapReduce发展出来的.要想了解Hadoop,就必须知道HDFS和MapReduce是什么. HDFS HDFS(Hadoop Distributed File System,Hadoop分布式文件系统),它是一个高度容错性的系统,适合部署在廉价的机器上.HDFS能提供高吞吐量的数据访问,适

操作Hadoop集群

所有必要的配置完成后,将文件分发到所有机器上的HADOOP_CONF_DIR目录.这应该是所有机器上相同的目录. 一般来说,建议HDFS和YARN作为单独的用户运行.在大多数安装中,HDFS进程作为"hdfs"执行.YARN通常使用"纱线"帐户. Hadoop启动 要启动Hadoop集群,您需要启动HDFS和YARN集群. 首次升级HDFS时,必须格式化.将新的分布式文件系统格式化为hdfs: [hdfs] $ $ HADOOP_HOME / bin / hdfs

工作日记:Hadoop客户端配置需与集群节点保持一致

昨天因为datanode出现大规模离线的情况,初步判断是dfs.datanode.max.transfer.threads参数设置过小.于是将所有datanode节点的hdfs-site.xml配置文件都作了调整.重启集群后,为了验证,试着运行一个作业,在jobhistory中查看该作业的configuration,令人意外的是,显示的居然还是旧的值,也就是说,作业还是用旧的值运行的,明明所有datanode节点已经做了配置文件的更新了啊. 忽然间想起,hadoop作业的调度是由另外一台集群外的