深入剖析HADOOP程序日志
来源:互联网 发布:sql查询结果生成新表 编辑:程序博客网 时间:2024/05/31 06:21
深入剖析HADOOP程序日志
前提
本文来自于 博客园 逖靖寒的世界 http://gpcuster.cnblogs.com
了解log4j的使用。
正文
本文来自于 博客园 逖靖寒的世界 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程序日志
- 深入剖析HADOOP程序日志
- 深入剖析HADOOP程序日志
- hadoop日志分析程序
- hadoop 日志分析程序
- Chpater03 Hadoop组件(二) 剖析MapReduce程序
- 深入剖析 MFC程序的启动过程
- 程序编译链接运行深入剖析
- 程序编译链接运行深入剖析
- 程序编译链接运行深入剖析
- 深入剖析EXCHANGE SERVER的邮件存储和日志
- hadoop的日志主要是MapReduce程序
- 使用hadoop编写日志分析MR程序
- 使用hadoop编写日志分析MR程序
- Hadoop小程序:分析日志文件
- hadoop入门-Mapreduce程序相关日志
- Hadoop学习笔记---1.wordcount程序的剖析
- 深入剖析WTL——如何封装Windows界面程序
- JS中showModalDialog 详细使用
- keepalived源码浅析——Daemon进程
- shell快捷键
- ASF文件格式之Objects与Guid总结
- android调用第三方库——第三篇——编写库android程序整合第三方库libhello.so到自己的库libhelloword.so
- 深入剖析HADOOP程序日志
- 虚拟机linux能ping通主机不能上网解决办法
- 【蓝色终极版】经典OA办公协同管理-原型UI设计-制作
- 英特尔今天终于意识到:用户只为体验、而不为芯片买单
- select current_timestamp及Oracle中的DUAL表
- linux内核DMA内存分配
- Android滑动菜单
- EditText软键盘弹出问题解决
- 在webconfig上设置数据库连接设置,或者在webconfig上定义数据后,在应用程序编辑界面,即后台调用webconfig内的数据