初学者运行MapReduce作业时,经常会遇到各种错误,往往不知所云,一般直接将终端打印的错误贴到搜索引擎上查找,以借鉴前人的经验。

对于hadoop而言,当遇到错误时,第一时间应是查看日志,日志里通产会有详细的错误原因提示。Hadoop MapReduce日志分为两部分,一部分是服务日志,一部分是作业日志,具体介绍如下:

1. Hadoop 1.x版本

Hadoop 1.x中MapReduce的服务日志包括JobTracker日志和各个TaskTracker日志,它们的日志位置如下:

JobTracker:在JobTracker安装节点上,默认位置是

${HADOOP_HOME}/logs/*-jobtracker-*.log,该文件每天生成一个,旧的日志后缀是日期,当天的日志文件后缀是“.log”。

TaskTracker:在各个TaskTracker安装节点上,默认位置是
${HADOOP_HOME}/logs/*-tasktracker-*.log,该文件每天生成一个,旧的日志后面会跟一个日志,当天的日志文件后缀是“.log”

作业日志包括jobhistory日志和task日志两部分,其中,jobhistory日志是作业运行日志,包括作业启动时间、结束时间,每个任务的启动时间、结束时间,各种counter信息等,用户可以从这个日志中解析出作业运行的各种信息,是非常有价值的信息。默认存放位置是JobTracker所在节点的${HADOOP_HOME}/logs/history目录下,可通过参数hadoop.job.history.location配置。每个task日志存放在task运行节点上,存放位置是${HADOOP_HOME}/userlogs//目录下,每个task包含三个日志文件,分别是stdout、stderr和syslog,其中,stdout是通过标准输出打印出来的日志,比如System.out.println,注意,程序中通过标准输出打印的日志并不会直接显示在终端上,而是保存在这个文件中,syslog是通过log4j打印的日志,通常这个日志中包含的有用信息最多,也是错误调试中最关键的参考日志。

2. Hadoop 2.x版本

Hadoop 2.x中YARN系统的服务日志包括ResourceManager日志和各个NodeManager日志,他们的日志位置如下:
ResourceManager日志存放位置是Hadoop安装目录下的logs目录下的yarn-*-resourcemanager-*.log
NodeManager日志存放位置是各个NodeManager节点上hadoop安装目录下的logs目录下的yarn-*-nodemanager-*.log
应用程序日志包括jobhistory日志和Container日志,其中,jobhistory日志是应用程序运行日志,包括应用程序启动时间、结束时间,每个任务的启动时间、结束时间,各种counter信息等。
Container日志包含ApplicationMaster日志和普通Task日志,它们均存放在Hadoop安装目录下的userlogs目录中的application_xxx目录下,其中ApplicationMaster日志目录名称为container_xxx_000001,普通task日志目录名称则为container_xxx_000002,container_xxx_000003,….,同Hadoop 1.x一样,每个目录下包含三个日志文件:stdout、stderr和syslog,且具体含义是一样的。

3. 总结
Hadoop日志是用户定位问题的最重要渠道,对于初学者而言,往往意识不到这一点,或者即使意识到这一点,也找不到日志存放位置,希望本文对初学者有帮助。

Hadoop日志文件的更多相关文章

  1. Hadoop日志文件分析系统

    Hadoop日志分析系统 项目需求: 需要统计一下线上日志中某些信息每天出现的频率,举个简单的例子,统计线上每天的请求总数和异常请求数.线上大概几十台 服务器,每台服务器大概每天产生4到5G左右的日志 ...

  2. Hadoop日志分析工具——White Elephant

    White Elephant 是一个Hadoop日志收集器和展示器,它提供了用户角度的Hadoop集群可视化.White Elephant 是全球最大的职业社交网站Linkedin开发的一套分析Had ...

  3. hadoop集群中的日志文件

    hadoop存在多种日志文件,其中master上的日志文件记录全面信息,包括slave上的jobtracker与datanode也会将错误信息写到master中.而slave中的日志主要记录完成的ta ...

  4. hadoop集群中的日志文件 分类: A1_HADOOP 2015-02-28 20:37 680人阅读 评论(0) 收藏

    hadoop存在多种日志文件,其中master上的日志文件记录全面信息,包括slave上的jobtracker与datanode也会将错误信息写到master中.而slave中的日志主要记录完成的ta ...

  5. hadoop镜像文件和编辑日志文件

    镜像文件和编辑日志文件 1)概念 namenode被格式化之后,将在/opt/module/hadoop-2.7.2/data/tmp/dfs/name/current目录中产生如下文件 edits_ ...

  6. Spark RDD/Core 编程 API入门系列之动手实战和调试Spark文件操作、动手实战操作搜狗日志文件、搜狗日志文件深入实战(二)

    1.动手实战和调试Spark文件操作 这里,我以指定executor-memory参数的方式,启动spark-shell. 启动hadoop集群 spark@SparkSingleNode:/usr/ ...

  7. Spark处理日志文件常见操作

    spark有自己的集群计算技术,扩展了hadoop mr模型用于高效计算,包括交互式查询和 流计算.主要的特性就是内存的集群计算提升计算速度.在实际运用过程中也当然少不了对一些数据集的操作.下面将通过 ...

  8. Hadoop日志以及日志的格式和命名组成

    一.日志的格式 有两种日志,分别以log和out结尾 1)以log结尾的日志: 通过log4j日志记录格式进行记录的日志,采用的日常滚动文件后缀策略来命名日志文件,内容比较全. 2)以out结尾的日志 ...

  9. [SequenceFile_1] Hadoop 序列文件

    1. 关于 SequenceFile 对于日志文件来说,纯文本不适合记录二进制类型数据,通过 SequenceFile 为二进制键值对提供了持久的数据结构,将其作为日志文件的存储格式时,可自定义键(L ...

随机推荐

  1. Spotlight--你不得不用的Mac查询利器

    世界上有两种Mac用户:一种是经常使用Spotlight的,另一种是忽略Spotlight的.如果你是第二种用户,那么你需要改变.Mac所有方面的使用场景,都会随着Spotlight而变得更快.你只需 ...

  2. Python终极coding

    作为一名程序员,除了需要具备解决问题的思路以外,代码的质量和简洁性也很关键.因为从一个人的代码可以直接看出你的基本功.对于Python而言,这就意味着你需要对Python的内置功能和库有很深入的了解. ...

  3. wxpython多线程间通信

    #!bin/bash/python # -*- coding=utf-8 -*- import time import wx from threading import Thread from wx. ...

  4. 在Unity3D里使用WinForm

    之前给一个游戏写过MOD,功能大概是在游戏里可以打开一个编辑器,然后可以直接在编辑器里修改到游戏数据. 编辑器UI的实现部分,一开始用的是原生GUI,即OnGUI部分,这种方式虽然最简洁,也不用引用任 ...

  5. python chrome的自定义启动

    # encoding:utf-8 """@version: python27@author: fafa@site: http://www.phpgao.com@softw ...

  6. Nginx虚拟主机 子文件单独配置

    上一篇所有的server 全都配置在nginx.conf配置文件里,其实每个server 都可以单独做一个子文件 删除nginx.conf配置文件中的server及其余内容,加上如下图 创建保存每个虚 ...

  7. Synchronized 和 Volatile

    Synchronized : 称为重量级锁,经过优化后,也没那么重了 一.CAS 1.CAS:Compare and Swap, 翻译成比较并交换. 2.java.util.concurrent包中借 ...

  8. nginx日志的监控【转】

    第一:nginx的基础监控: 1.进程监控 2.端口监控 在这里nginx的基础监控就不详细说了,注意的是:这两个是必须要加的.并且对于zabbix而言的话,一定要加上触发器的.有问题必须报警. 第二 ...

  9. django反向解析传参

    这两天写代码总是有反向解析传参顺带复习了一下反向解析,以下是简单的反向解析 以下是我最近写的很多的反向解析传参  想要实现点击修改将这些从数据库读取的内容传到另一个页面就要通过id来查询,那么我们就需 ...

  10. pl/sql dev安装

    转载: https://www.cnblogs.com/moly/p/8287091.html https://www.cnblogs.com/wuxiaokai/p/5032984.html 安装: ...