2017-08-02 5 views
0

私はHadoop 2.7.3を使用しています.Yarnを使用していくつかのマップを減らしています。 各コンテナに対して生成されるログは天文学です。明らかに使用されているレベルはDEBUGです。 ログレベルをINFOに増やしたいと思います。Hadoop Yarn Containerから生成されるログの量を減らすにはどうすればよいですか?

私のインストールは多かれ少なかれデフォルトのインストールです。

私のhadoop-yarn-server-nodemanager - * .jarのcontainer-log4j.propertiesをhttps://community.hortonworks.com/questions/98259/hdp-250-how-to-override-default-container-log4j-in.htmlで説明したように変更しようとしましたが、これは役に立たなかった。各コンテナのための私のstdoutファイルは巨大です...そしておそらく私のmap/reduceがとても遅い理由もあります。

誰かが私の標準出力コンテナログファイルのログレベルをINFOに増やす方法がありますか?

ここ

は私の標準出力の抜粋です:

〜/ Hadoopの/ログ/ userlogs/application_1501740469795_0001/container_1501740469795_0001_01_000001:1282>より標準出力 08:08:55.337 [メイン] DEBUGのorg.apache.hadoop .metrics2.impl.MetricsSystemImpl - JvMetrics、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.jobs注釈付@ org.apache.hadoop.metrics2.annotation.Metric(約=、sampleName = Ops、常に=偽、type = DEFAULT、 値= [] 、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(約=、sampleName = Ops、常に= false、type = DEFAULT、 値= []、valueName =時間) 08:08:55.360 [メイン] 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、常に= false、type = DEFAULT、va lue = []、valueName = Time) 08:08:55.364 [main] DEBUG org.apache.hadoopフィールド。 (約=、sampleName = Ops、常に=偽、type = DEFAULT、va lue = [サンプル名@ ]、valueName = Time) 08:08:55.364 [メイン] 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(約=、sampleName = Ops、常に=偽、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.jobsでの実行アノテーション@ org.apache.hadoop.metrics2.annotation.Metric(about =、sampleName = Ops、常に= 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.maps注釈@ org.apache.hadoop.metrics2.annotation.Metric(約=、sampleName = Ops、常に=偽、type = DEFAULT、 値= []、valueName =時間) 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アノテーション@ org.apache.hadoop.metrics2.annotationで.mapsCompleted。メトリック ...あなたの助けを

おかげで(=、sampleName =オプス、常にfalse、タイプ= DEFAULT、 値を= = []、VALUENAME =時間程度)。

+0

あなたのmapred-site.xmlに 'mapreduce.map.log.level'と' mapreduce.reduce.log.level'とは何を設定していますか? – 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:実際の結合は、私はサブディレクトリlibにその必要なライブラリとJARファイルに自分の仕事を梱包していますタイプ[ch.qos.logback.classic.util.ContextSelectorStaticBinder]

です。私はlibに余分なslf4jバインディングを含めました。

解決策は、ジョブjarファイルから2番目のslf4jバインディングを削除することでした。

この後、混乱はなく、使用されるトレースレベルは、INFOと定義されたレベルであった。 !!!

+0

これは実際には「到達不能なノード」のような多くの副作用を修正し、失敗したタスク... – BuckBazooka

関連する問題