深入剖析HADOOP程序日志
深入剖析HADOOP程序日志
前提
本文来自于 博客园 逖靖寒的世界 http://gpcuster.cnblogs.com
正文
本文来自于 博客园 逖靖寒的世界 http://gpcuster.cnblogs.com
*.log日志文件和*.out日志文件
进入我们的Hadoop_LOG目录,我们可以看到如下文件:
![]()
在启动Hadoop集群时,由hadoop-daemon.sh脚本指定一些列环境变量,然后log4j.properties文件读取相应的环境变量产生对应的*.log日志文件。这个日志文件输出类型为org.apache.log4j.DailyRollingFileAppender,它会自动按天更新。
*.out文件则是启动某个程序的标准输出重定向。
比如:
hadoop-admin-datanode-horde20.log是在horde20这台机器上启动datanode进程的日志输出,由log4j实现。
hadoop-admin-datanode-horde20.out则是在horde20这台机器上启动datanode时的标准输出。
这些日志仅仅包含在horde20这台机器上启动datanode进程的日志,没有其他的信息。
userlogs目录下的日志文件
进入userlogs目录,我们可以看到:
![]()
这里的每一个目录代表每一个task的输出日志。
进入其中一个目录可以看到:
![]()
这里的stderr和stdout记录了我们的task(map or reduce)的在这台机器上运行的过程中所产生的标准错误输出和标准输出。这些信息集群中的每一个机器上都会出现,如果数据量足够多的话:)
syslog则记录了在我们的task中,通过log4j接口记录的日志信息。
每一个task都会通过TaskRunner.run()来启动,它会为每一个子java程序指定标准错误输出和标准输出到前面提到的文件中,同时设置相应的参数,其中包括”-Dhadoop.root.logger=INFO,TLA”,这个TLA的定义可以在log4j.properties文件中找到,具体实现是org.apache.hadoop.mapred.TaskLogAppender。这个参数指定了在我们的task中,通过log4j接口记录的日志信息都记录到syslog中。
history目录下的日志文件
进入jobtracker机器的history目录,我们可以看到:
![]()
horde20_1250841267760_job_200908211554_0001_conf.xml记录了我们运行这个job时候的配置文件信息。
horde20_1250841267760_job_200908211554_0001_admin_wordcount记录了我们运行这个job的情况。
他们是由JobHistory产生的,并且只在jobtracker机器上产生。
EventCounter
在Hadoop的默认配置log4j.properties中,所有通过log4j接口记录的日志信息还会记录到一个叫EventCounter的Appender中,它的实现是org.apache.hadoop.metrics.jvm.EventCounter,具体的作用是统计Hadoop中使用log4j记录INFO,WARN,ERROR,FATAL信息的次数。
后记
本文介绍了Hadoop中所有的程序日志的来源和作用。希望能给开发和维护人员以帮助。
如果希望完全了解Hadoop的运行状况信息,还需要参考counter和metric。
转自:http://www.cnblogs.com/gpcuster/archive/2009/08/21/1551715.html
深入剖析HADOOP程序日志的更多相关文章
- 使用LogMaster4Net实现应用程序日志的集中管理
日志在软件系统中的重要性我在此也不赘述了,几乎所有程序员每天都会更日志打交道. 那么你是否曾今为这样的一些事情而困扰过: - 远程登录到不同的服务器,找到应用程序目然后查看应用日志: - 来回切换于不 ...
- C# 使用Log4Net记录程序日志
在之前的博客中,写过使用系统内置的Trace类记录程序日志,具体请参考:C# 使用Trace记录程序日志.这篇博客将介绍如何使用Log4Net记录程序日志. 首先需要引用Log4Net.dll,我们可 ...
- Hive分析hadoop进程日志
想把hadoop的进程日志导入hive表进行分析,遂做了以下的尝试. 关于hadoop进程日志的解析 使用正则表达式获取四个字段,一个是日期时间,一个是日志级别,一个是类,最后一个是详细信息, 然后在 ...
- 使用Monitor调试Unity3D Android程序日志输出(非DDMS和ADB)
使用Monitor调试Unity3D Android程序日志输出(非DDMS和ADB) http://www.cnblogs.com/mrkelly/p/4015245.html 以往调试Androi ...
- IntelliJ IDEA + Maven环境编写第一个hadoop程序
1. 新建IntelliJ下的maven项目 点击File->New->Project,在弹出的对话框中选择Maven,JDK选择你自己安装的版本,点击Next 2. 填写Maven的Gr ...
- 写window应用程序日志System.Diagnostics.EventLog.WriteEntry
System.Diagnostics.EventLog.WriteEntry( MySource , Writing to event log. ); 可以写window应用程序日志 查看的地方:右击 ...
- eclipse运行hadoop程序报错:Connection refused: no further information
eclipse运行hadoop程序报错:Connection refused: no further information log4j:WARN No appenders could be foun ...
- WIN7下运行hadoop程序报:Failed to locate the winutils binary in the hadoop binary path
之前在mac上调试hadoop程序(mac之前配置过hadoop环境)一直都是正常的.因为工作需要,需要在windows上先调试该程序,然后再转到linux下.程序运行的过程中,报Failed to ...
- 运行第一个Hadoop程序,WordCount
系统: Ubuntu14.04 Hadoop版本: 2.7.2 参照http://www.cnblogs.com/taichu/p/5264185.html中的分享,来学习运行第一个hadoop程序. ...
随机推荐
- 自定义MVC Html
自定义ASP.NET MVC Html辅助方法 在ASP.NET MVC中,Html辅助方法给我们程序员带来很多方便,其重要性也就不言自明.有时候,我们不想重复地写一些HTML代码,或者MS没有提供我 ...
- Webdriver - Selenium Grid Configuration
Grid parameter: role = <hub|node> (default is no grid, just run an RC/webdriver server). When ...
- kubernetes容器编排系统介绍
版权声明:本文由turboxu原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/152 来源:腾云阁 https://www. ...
- 2D客户端+微端技术总结
本人于2013年9月23号加入一个页游项目组, 并作为项目组的客户端小组的主程, 带领一个4个人(峰值)的前端小组, 进行微端的开发.微端项目于2014年8月底大体完成, 历时11个月.9月份之后微端 ...
- linux笔记:linux常用命令-压缩解压命令
压缩解压命令:gzip(压缩文件,不保留原文件.这个命令不能压缩目录) 压缩解压命令:gunzip(解压.gz的压缩文件) 压缩解压命令:tar(打包压缩目录或者解压压缩文件.打包的意思是把目录打包成 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 通过chrome 获取网站的cookie信息
通过chrome 打开网页 审核元素 登录网站后 network列表中查看 home?开头列表项的 cookie信息
- 笔记11:GDI 制作数字验证码
大二学长让我学下GDI绘制验证码,然后自己就试了试了.找了点视频看了下. 现在会画直线,矩形,字符串,制作验证码 一.绘制一条直线 private void button1_Click(object ...
- (22)odoo 安装旧模块报错处理
一些老版本的模块没有得到升级,所以经常碰到模块无法安装的问题. No module name osv 将模块的 from osv import osv,fields 改为 from openerp.o ...
- ABAP之DIALOG
明天系统上线,数据一团糟,没人提BUG,无聊ING.... 今天说说SAP开发常用的DIALOG吧 一般单独的DIALOG程序可以直接建成函数组,功能组,普通报表程序. 基本都是统一的样式,主程序中I ...