如何减少hadoop容器生成的日志数量?

camsedfj  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(473)

我正在使用hadoop2.7.3,使用yarn做一些map reduce。为每个容器生成的日志是天文数字。显然使用的级别是debug。我想增加日志级别的信息。
我的安装或多或少是默认安装。
我尝试修改hadoop yarn服务器nodemanager-*.jar中的container-log4j.properties,如中所述https://community.hortonworks.com/questions/98259/hdp-250-how-to-override-default-container-log4j-in.html 但这没有帮助。我每个容器的标准文件都很大。。。很可能也是我的map/reduce如此缓慢的原因。
有人知道如何将日志级别提高到stdout容器日志文件中的信息吗?
以下是我的一个标准:
~/hadoop/logs/userlogs/application\u 1501740469795\u 0001/container\u 1501740469795\u 0001\u 01\u000001:1282>更多标准08:08:55.337[main]调试org.apache.hadoop.metrics2.impl.metricssystemimpl-jvmmetrics,jvm相关度量等08:08:55.348[main]debug org.apache.hadoop.metrics2.lib.mutablemetricsfactory-field org.apache.hadoop.metrics2.lib.mutablecounterint org.apache.hadoop.mapreduce.v2.app.metrics.mrappmetrics.jobssubmitted with annotation@org.apache.hadoop.metrics2.annotation.metrics(about=,samplename=ops,always=false,type=default,value=[],valuename=time)08:08:55.355[main]调试org.apache.hadoop.metrics2.lib.mutablemetricsfactory-字段org.apache.hadoop.metrics2.lib.mutablecounterint org.apache.hadoop.mapreduce.v2.app.metrics.mrappmetrics.jobscompleted with annotation@org.apache.hadoop.metrics2.annotation.metrics(about=,samplename=ops,always=false,type=default,value=[],valuename=time)08:08:55.360[main]调试org.apache.hadoop.metrics2.lib.mutablemetricsfactory-字段org.apache.hadoop.metrics2.lib.mutablecounterint org.apache.hadoop.mapreduce.v2.app.metrics.mrappmetrics.jobsfailed with annotation@org.apache.hadoop.metrics2.annotation.metrics(about=,samplename=ops,always=false,type=default,va lue=[],valuename=time)08:08:55.364[main]调试org.apache.hadoop.metrics2.lib.mutablemetricsfactory-字段org.apache.hadoop.metrics2.lib.mutablecounterint org.apache.hadoop.mapreduce.v2.app.metrics.mrappmetrics.jobskilled with annotation@org.apache.hadoop.metrics2.annotation.metrics(about=,samplename=ops,always=false,type=default,va lue=[],valuename=time)08:08:55.364[main]调试org.apache.hadoop.metrics2.lib.mutablemetricsfactory-域org.apache.hadoop.metrics2.lib.mutablegaugeint org.apache.hadoop.mapreduce.v2.app.metrics.mrappmetrics.jobspreparing with annotation@org.apache.hadoop.metrics2.annotation.metrics(about=,samplename=ops,always=false,type=default,v value=[],valuename=time)08:08:55.365[main]调试org.apache.hadoop.metrics2.lib.mutablemetricsfactory-域org.apache.hadoop.metrics2.lib.mutablegaugeint org.apache.hadoop.mapreduce.v2.app.metrics.mrappmetrics.jobsrunning with annotation@org.apache.hadoop.metrics2.annotation.metrics(about=,samplename=ops,always=false,type=default,val ue=[],valuename=time)08:08:55.365[main]调试org.apache.hadoop.metrics2.lib.mutablemetricsfactory-字段org.apache.hadoop.metrics2.lib.mutablecounterint org.apache.hadoop.mapreduce.v2.app.metrics.mrappmetrics.mapslaunched with annotation@org.apache.hadoop.metrics2.annotation.metrics(about=,samplename=ops,always=false,type=default,value=[],valuename=time)08:08:55.365[main]调试org.apache.hadoop.metrics2.lib.mutablemetricsfactory-字段org.apache.hadoop.metrics2.lib.mutablecounterint org.apache.hadoop.mapreduce.v2.app.metrics.mrappmetrics.mapscompleted with annotation@org.apache.hadoop.metrics2.annotation.metrics(about=,samplename=ops,always=false,type=default,值=[],值名称=时间)。。。
谢谢你的帮助。

ffvjumwh

ffvjumwh1#

问题是我忽略了发给斯特德尔的警告。
slf4j:类路径包含多个slf4j绑定。slf4j:在中找到绑定[jar:file:/home/hadoop/hadoop\u data-2.7.3/yarndata/usercache/jj/appcache/application\u 1501771750571\u 0001/filecache/11/map-reducer-job.jar/lib/logback-classic-1.1.11.jar/org/slf4j/impl/staticloggerbinder.class]slf4j:在中找到绑定[jar:file:/home/hadoop/hadoop-2.7.3/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar/org/slf4j/impl/staticloggerbinder.class]slf4j:请参阅http://www.slf4j.org/codes.html#multiple_bindings 为了解释。slf4j:实际绑定的类型为[ch.qos.logback.classic.util.contextselectorstaticbinder]
我正在将我的工作打包到一个jar文件中,并将它所需的库打包到一个子目录库中。我在它的lib中加入了一个额外的slf4j绑定。
解决方案是从jobjar文件中删除第二个slf4j绑定。
在此之后,没有任何混乱和跟踪级别使用的是一个定义,即信息!!!

相关问题