log (hadoop)

1application->container来管理。NameNode 的mapreduce log在userlogs。System.out 无法看到Mapper和Reducer的部分。

  • 生成log方法:

2log4j

3apache common LogFactory

4MultipleOutput ,program logputout

 

  • 查看task log    Hadoop:2.6:

mr-jobhistory-daemon.sh start historyserver  jps JobHistoryServer

Tracking URL里面的History

yarn-site.xml里面配置aggregation为true:  看到每个Map和Reduce任务的Log

yarn-site.xml同步到所有的节点,重启集群

HDFS directory where the application logs are moved on application completion. Need to set appropriate permissions. Only applicable if log-aggregation is enabled. The default value is "/logs" or "/tmp/logs"

  • .log .out    log4j.properties读取环境变量,生成log4j.DailyRollingFileAppender

由hadoop-daemon.sh脚本指定一些列环境变量,然后log4j.properties文件读取相应的环境变量产生对应的*.log日志文件。这个日志文件输出类型为org.apache.log4j.DailyRollingFileAppender,它会自动按天更新。

hadoop-admin-datanode-horde20.log是在horde20这台机器上启动datanode进程的日志输出,由log4j实现。

hadoop-admin-datanode-horde20.out则是在horde20这台机器上启动datanode时的标准输出。

这些日志仅仅包含在horde20这台机器上启动datanode进程的日志,没有其他的信息。

  • syslog    task(log4j 接口) ,TaskRunner.run()设置参数

记录了在我们的task中,通过log4j接口记录的日志信息。

每一个task都会通过TaskRunner.run()来启动,它会为每一个子java程序指定标准错误输出和标准输出到前面提到的文件中,同时设置相应的参数,其中包括”-Dhadoop.root.logger=INFO,TLA”,这个TLA的定义可以在log4j.properties文件中找到,具体实现是org.apache.hadoop.mapred.TaskLogAppender。这个参数指定了在我们的task中,通过log4j接口记录的日志信息都记录到syslog中。

  • history    job运行及配置信息

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信息的次数。

  • counter metric

 

posted on 2017-09-22 20:53  satyrs  阅读(672)  评论(0编辑  收藏  举报

导航