文档章节

hadoop日志:项目日志输出级别和日志存放路径详解

cjun1990
 cjun1990
发布于 2015/07/27 11:44
字数 751
阅读 3.8K
收藏 0

3 月,跳不动了?>>>

1.hadoop项目日志输出级别

首先了解log4j的基本知识,参考之前的博客。

对于hadoop来说,日志很繁杂。对于输出日志的级别,首先查看hadoop的日志文件log4j.properties

image

log4j.rootLogger=${hadoop.root.logger}, EventCounter的前一部分是hadoop.root.logger。所以我们可以知道,对已我们修改hadoop的配置文件,默认应该是修改hadoop.root.logger的值,EventCounter应该是默认hadoop会添加在后面。类似的道理,我们修改任何的日志配置,都应该不会影响到系统本身的日志输出,因为它都会在log4j.rootLogger后面添加系统本身需要实现的日志实现。唯一影响的就是日志的输出级别了。包括我们打包的mapreduce、spark项目都是这个道理,都不会影响到系统本身的日志输出,除了日志输出级别。所以我们的log4j.rootLogger配置应该很简单,就是配置一下日志的输出级别和你自己需要实现的日志输出,如果都用默认的,则项目中log4j.rootLogger可以直接是空的。对于spark来说,他本身是不会输出到console的,所以需要在加上log4j.rootCategory=DEBUG, console,并且在日志文件中加上console的相关配置,这样console才会输出所有的日志,默认是没有console的。对于日志的输出级别判断,使用log.isDebugEnabled()即可。

2.日志类别关系

hadoop日志有很多,大概分为服务日志和作业日志。服务日志就是hadoop各个基础服务的日志,如hdfs,resourcemanager,nodemanager,yarn等服务产生的日志;作业日志就是在yarn上运行的任务产生的日志,有jobhistory日志和Container日志,jobhistory日志就是应用程序运行的日志,如开始时间结束时间等,container就是真正的代码产生的日志。我们部署的Map reduce jobhistory 服务,查看的日志就是jobhistory的日志,一般会有链接到container上。对于在yarn上运行的spark任务,spark的job history没有链接指向container的日志。map reduce job history只会收集mapReduce任务的日志,需要启动spark的job history,才能看到spark的任务日志。

image

对于上图的spark类型的任务,只有成功的History链接才会指向spark 的history server,kill掉的是不会指向spark的history server的。而且从这里点进去的spark类型任务,只会显示application master节点的信息,不会显示其他节点的container的信息。mapreduce任务则会显示所有节点的信息。

3.hadoop日志存放路径详解

参考:Hadoop日志存放路径详解

4.动态设置hadoop日志级别

访问地址:http://namenode:50070/logLevel,即可动态设置日志级别,设置后立马生效。

参考:Hadoop动态调整日志级别

© 著作权归作者所有

cjun1990
粉丝 36
博文 371
码字总数 183914
作品 0
深圳
程序员
私信 提问
加载中

评论(0)

Hadoop日志存放路径详解

  Hadoop的日志有很多种,很多初学者往往遇到错而不知道怎么办,其实这时候就应该去看看日志里面的输出,这样往往可以定位到错误。Hadoop的日志大致可以分为两类:(1)、Hadoop系统服务输...

aibati2008
2016/07/17
113
0
ELK日志系统之通用应用程序日志接入方案

前边有两篇ELK的文章分别介绍了MySQL慢日志收集和Nginx访问日志收集,那么各种不同类型应用程序的日志该如何方便的进行收集呢?且看本文我们是如何高效处理这个问题的 日志规范 规范的日志存...

37丫37
2018/09/06
1.6K
5
log4j2配置文件log4j2.xml配置详解

原文链接:https://blog.csdn.net/zheng0518/article/details/69558893 一、背景 最近由于项目的需要,我们把log4j 1.x的版本全部迁移成log4j 2.x 的版本,那随之而来的slf4j整合log4j的配置...

thekenofdis
2018/05/24
0
0
log4j2配置文件log4j2.xml

一、背景   最近由于项目的需要,我们把log4j 1.x的版本全部迁移成log4j 2.x 的版本,那随之而来的slf4j整合log4j的配置(使用Slf4j集成Log4j2构建项目日志系统的完美解决方案)以及log4j...

物种起源-达尔文
2019/09/03
61
0
三方库--slf4j-log4j的使用

本文不去探究日志门面 slf4j 与其他众多日志框架 log4j、log4j2、logback、j.u.l(java.util.logging) 之间的关系,我们将重点关注 slf4j 与 log4j 的组合使用。 log4j 应该是最经典、使用人数...

_inkrain
2019/04/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

华为P40发布:搭载HMS硬刚谷歌,未涨价抢全球高端机市场

  文连线 Insight,作者向阳,编辑水笙   3 月 26 日晚,华为消费者业务 CEO 余承东登上台,以熟悉的英文口音开启了华为发布会,他说,“这就是我们的 P40 系列。”   以往华为P系列通...

水果黄瓜
11分钟前
14
0
如何从Java中的字符串值获取枚举值? - How to get an enum value from a string value in Java?

问题: Say I have an enum which is just 说我有一个枚举 public enum Blah { A, B, C, D} and I would like to find the enum value of a string, for example "A" which would be B......

javail
34分钟前
7
0
2048游戏的最佳算法是什么? - What is the optimal algorithm for the game 2048?

问题: I have recently stumbled upon the game 2048 . 我最近偶然发现了2048游戏。 You merge similar tiles by moving them in any of the four directions to make "bigger" tiles. 您可......

技术盛宴
今天
7
0
OSChina 周一乱弹 —— 小姐姐,这tm不是犬耳娘吗!你认错了吧

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《Drip Drip Drip》- 音乐治疗 手机党少年们想听歌,请使劲儿戳(这里) @-Eric- ...

小小编辑
今天
34
0
HTML5 小游戏开发

HTML的基础 HTML称为超文本标记语言,是一种标识性的语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成...

冯六六
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部