2017-08-02 45 views
0

我正在使用Hadoop 2.7.3,使用紗線做一些地圖縮小。 爲每個容器生成的日誌是天文數字。顯然使用的級別是DEBUG。 我想將日誌級別增加到INFO。如何減少從我的Hadoop紗線容器生成的日誌量?

我的安裝或多或少是默認安裝。

我試着修改我的hadoop-yarn-server-nodemanager - *。jar中的container-log4j.properties,如https://community.hortonworks.com/questions/98259/hdp-250-how-to-override-default-container-log4j-in.html所述,但這並沒有幫助。我的每個容器的標準輸出文件都很大......而且很可能也是我的地圖/縮減太慢的原因。

有沒有人有一個想法,我可以增加我的日誌級別INFO在我的標準輸出容器日誌文件?

下面是一個提取我的標準輸出之一:

〜/ hadoop的/日誌/ userlogs/application_1501740469795_0001/container_1501740469795_0001_01_000001:1282>更多標準輸出 08:08:55.337 [主要] DEBUG org.apache.hadoop .metrics2.impl.MetricsSystemImpl - 與JVM相關的度量標準等。 08:08:55.348 [main] DEBUG org.apache.hadoop.metrics2.lib.MutableMetricsFactory - 字段org.apache.hadoop.metrics2.lib.MutableCounterInt org。 apache.hadoop.mapreduce.v2.app.metrics.MRAppMetrics.jobsSubmitted with annotation @ org.apache.hadoop.metrics2.annotation.Metric(about =,sampleName = Ops,always = false,type = DEFAULT, value = [] ,valueName =時間) 08:08:55.355 [main] DEBUG org.apache.hadoop.metrics2.lib.MutableMetricsFactory - 字段org.apache.hadoop.metrics2.lib.MutableCounterInt org.apache.hadoop.mapreduce.v2.app.metrics。 MRAppMetrics.jobs使用註釋@ org.apache.hadoop.metrics2.annotation.Metric完成(about =,sampleName = Ops,always = false,type = DEFAULT, value = [],valueName = Time) 08:08:55.360 [ main] DEBUG 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.Metric(about =,sampleName = Ops,always = false,type = DEFAULT,v1.0 = .metrics2.lib.MutableMetricsFactory - 字段org.apache.hadoop.metrics2.lib.MutableCounterInt org.apac he.hadoop.mapreduce.v2.app.metrics.MRAppMetrics.jobsKill with annotation @ org.apache.hadoop.metrics2.annotation.Metric(about =,sampleName = Ops,always = false,type = DEFAULT,va lue = [ ],valueName = Time) 08:08:55.364 [main] DEBUG org.apache.hadoop.metrics2.lib.MutableMetricsFactory - 字段org.apache.hadoop.metrics2.lib.MutableGaugeInt org.apache.hadoop.mapreduce.v2。 app.metrics.MRAppMetrics.jobs使用註釋@ org.apache.hadoop.metrics2.annotation.Metric進行準備(about =,sampleName = Ops,always = false,type = DEFAULT,v alue = [],valueName = Time) 08 :08:55.365 [main] DEBUG org.apache.hadoop.metrics2.lib.MutableMetricsFactory - 字段org.apache.hadoop.metrics2.lib.MutableGaugeInt org.apache.hadoop.mapreduce.v2.app.metrics.MRAppMetrics.jobsRunning with註釋@ org.apache.hadoop.metrics2.annotation.Metric(about =,sampleName = Ops,always = false,type = DEFAULT,val ue = [],valueName = Time) 08:08:55.365 [main] DEBUG org.apache.hadoop.metrics2.lib.MutableMetricsFactory - 字段org.apache.hadoop.metrics2.lib.MutableCounterInt org.apache.hadoop。 mapreduce.v2.app.metrics.MRAppMetrics.mapsLaunch with annotation @ org.apache.hadoop.metrics2.annotation.Metric(about =,sampleName = Ops,always = false,type = DEFAULT, value = [],valueName = Time ) 08:08:55.365 [main] DEBUG org.apache.hadoop.metrics2.lib.MutableMetricsFactory - field org.apache.hadoop.metrics2.lib.MutableCounterInt org.apache.hadoop.mapreduce.v2.app.metrics.MRAppMetrics .maps用註釋@ org.apache.hadoop.metrics2.annotation完成。公制(約=,= sampleName行動,始終=假類型= DEFAULT, 值= [],VALUENAME =時間) ...

感謝您的幫助。

+0

什麼是mapreduce.map.log.level和mapreduce.reduce.log.level設置在您的mapred-site.xml中? – tk421

+0

我沒有設置它們。我對兩者都使用了INFO的默認值。現在我試圖在我的mapred-site.xml中指定它們,但這並沒有幫助它得到相同的結果。 – BuckBazooka

回答

1

問題是我忽略了發送給stderr的WARNING。

SLF4J:類路徑包含多個SLF4J綁定。 SLF4J:在[jar:file:/home/hadoop/HADOOP_DATA-2.7.3/yarnData/usercache/jj/appcache/application_1501771750571_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其所需的庫。我在它的lib中包含了一個額外的slf4j綁定。

解決方案是從我的作業jar文件中刪除第二個slf4j綁定。

之後沒有混淆,並且使用的跟蹤級別是定義的級別即INFO。 !

+0

這實際上修復了許多副作用,如「無法訪問的節點」,失敗的任務... – BuckBazooka