2016-05-12 4 views
1

Ich benutze Hadoop 2.5.2.Ich bin neu zu hadoop und Karte zu reduzieren. Ich versuche eine Karte Code zu reduzieren, um Sentiment-Analyse durchzuführen.Aber wenn ich den Code ausführen, werden viele Logging-Nachrichten von Hadoop auf der Konsole generiert. Dies ist der Grund, warum es viel Zeit in Anspruch nimmt Analyseergebnis für jeden Satz.Folgende sind die Log-Meldungen ....wie die Protokollierung Nachrichten von hadoop auf der Konsole generiert

2016-05-12 23:03:05,396 INFO jvm.JvmMetrics (JvmMetrics.java:init(71)) - Cannot initialize JVM Metrics with processName=JobTracker, sessionId= - already initialized 
2016-05-12 23:03:05,397 INFO jvm.JvmMetrics (JvmMetrics.java:init(71)) - Cannot initialize JVM Metrics with processName=JobTracker, sessionId= - already initialized 
2016-05-12 23:03:05,400 WARN mapreduce.JobSubmitter (JobSubmitter.java:copyAndConfigureFiles(150)) - Hadoop command-line option parsing not performed. Implement the Tool interface and execute your application with ToolRunner to remedy this. 
2016-05-12 23:03:05,403 WARN mapreduce.JobSubmitter (JobSubmitter.java:copyAndConfigureFiles(259)) - No job jar file set. User classes may not be found. See Job or Job#setJar(String). 
2016-05-12 23:03:05,412 INFO mapred.FileInputFormat (FileInputFormat.java:listStatus(247)) - Total input paths to process : 3 
2016-05-12 23:03:05,421 INFO mapreduce.JobSubmitter (JobSubmitter.java:submitJobInternal(396)) - number of splits:3 
2016-05-12 23:03:05,430 INFO mapreduce.JobSubmitter (JobSubmitter.java:printTokens(479)) - Submitting tokens for job: job_local1427897879_0120 
2016-05-12 23:03:05,444 WARN conf.Configuration (Configuration.java:loadProperty(2368)) - file:/home/hduser/workspace/Test1/build/test/mapred/staging/hduser1427897879/.staging/job_local1427897879_0120/job.xml:an attempt to override final parameter: mapreduce.job.end-notification.max.retry.interval; Ignoring. 
2016-05-12 23:03:05,445 WARN conf.Configuration (Configuration.java:loadProperty(2368)) - file:/home/hduser/workspace/Test1/build/test/mapred/staging/hduser1427897879/.staging/job_local1427897879_0120/job.xml:an attempt to override final parameter: hadoop.tmp.dir; Ignoring. 
2016-05-12 23:03:05,445 WARN conf.Configuration (Configuration.java:loadProperty(2368)) - file:/home/hduser/workspace/Test1/build/test/mapred/staging/hduser1427897879/.staging/job_local1427897879_0120/job.xml:an attempt to override final parameter: mapreduce.job.end-notification.max.attempts; Ignoring. 
2016-05-12 23:03:05,482 WARN conf.Configuration (Configuration.java:loadProperty(2368)) - file:/home/hduser/workspace/Test1/build/test/mapred/local/localRunner/hduser/job_local1427897879_0120/job_local1427897879_0120.xml:an attempt to override final parameter: mapreduce.job.end-notification.max.retry.interval; Ignoring. 
2016-05-12 23:03:05,482 WARN conf.Configuration (Configuration.java:loadProperty(2368)) - file:/home/hduser/workspace/Test1/build/test/mapred/local/localRunner/hduser/job_local1427897879_0120/job_local1427897879_0120.xml:an attempt to override final parameter: hadoop.tmp.dir; Ignoring. 
2016-05-12 23:03:05,483 WARN conf.Configuration (Configuration.java:loadProperty(2368)) - file:/home/hduser/workspace/Test1/build/test/mapred/local/localRunner/hduser/job_local1427897879_0120/job_local1427897879_0120.xml:an attempt to override final parameter: mapreduce.job.end-notification.max.attempts; Ignoring. 
2016-05-12 23:03:05,483 INFO mapreduce.Job (Job.java:submit(1289)) - The url to track the job: http://localhost:8080/ 
2016-05-12 23:03:05,483 INFO mapreduce.Job (Job.java:monitorAndPrintJob(1334)) - Running job: job_local1427897879_0120 
2016-05-12 23:03:05,483 INFO mapred.LocalJobRunner (LocalJobRunner.java:createOutputCommitter(471)) - OutputCommitter set in config null 
2016-05-12 23:03:05,484 INFO mapred.LocalJobRunner (LocalJobRunner.java:createOutputCommitter(489)) - OutputCommitter is org.apache.hadoop.mapred.FileOutputCommitter 
2016-05-12 23:03:05,485 INFO mapred.LocalJobRunner (LocalJobRunner.java:runTasks(448)) - Waiting for map tasks 
2016-05-12 23:03:05,485 INFO mapred.LocalJobRunner (LocalJobRunner.java:run(224)) - Starting task: attempt_local1427897879_0120_m_000000_0 
2016-05-12 23:03:05,486 INFO mapred.Task (Task.java:initialize(587)) - Using ResourceCalculatorProcessTree : [ ] 
2016-05-12 23:03:05,486 INFO mapred.MapTask (MapTask.java:updateJobWithSplit(462)) - Processing split: file:/home/hduser/workspace/Test1/training/pool.txt:0+17961 
2016-05-12 23:03:05,487 INFO mapred.MapTask (MapTask.java:runOldMapper(416)) - numReduceTasks: 1 
2016-05-12 23:03:05,487 INFO mapred.MapTask (MapTask.java:createSortingCollector(388)) - Map output collector class = org.apache.hadoop.mapred.MapTask$MapOutputBuffer 
2016-05-12 23:03:05,513 INFO mapred.MapTask (MapTask.java:setEquator(1182)) - (EQUATOR) 0 kvi 26214396(104857584) 
2016-05-12 23:03:05,513 INFO mapred.MapTask (MapTask.java:init(975)) - mapreduce.task.io.sort.mb: 100 
2016-05-12 23:03:05,514 INFO mapred.MapTask (MapTask.java:init(976)) - soft limit at 83886080 
2016-05-12 23:03:05,514 INFO mapred.MapTask (MapTask.java:init(977)) - bufstart = 0; bufvoid = 104857600 
2016-05-12 23:03:05,514 INFO mapred.MapTask (MapTask.java:init(978)) - kvstart = 26214396; length = 6553600 
2016-05-12 23:03:05,516 INFO mapred.LocalJobRunner (LocalJobRunner.java:statusUpdate(591)) - 
2016-05-12 23:03:05,516 INFO mapred.MapTask (MapTask.java:flush(1437)) - Starting flush of map output 
2016-05-12 23:03:05,516 INFO mapred.MapTask (MapTask.java:flush(1455)) - Spilling map output 
2016-05-12 23:03:05,516 INFO mapred.MapTask (MapTask.java:flush(1456)) - bufstart = 0; bufend = 17961; bufvoid = 104857600 
2016-05-12 23:03:05,516 INFO mapred.MapTask (MapTask.java:flush(1458)) - kvstart = 26214396(104857584); kvend = 26211024(104844096); length = 3373/6553600 
2016-05-12 23:03:05,523 INFO mapred.MapTask (MapTask.java:sortAndSpill(1641)) - Finished spill 0 
2016-05-12 23:03:05,524 INFO mapred.Task (Task.java:done(1001)) - Task:attempt_local1427897879_0120_m_000000_0 is done. And is in the process of committing 
2016-05-12 23:03:05,525 INFO mapred.LocalJobRunner (LocalJobRunner.java:statusUpdate(591)) - file:/home/hduser/workspace/Test1/training/pool.txt:0+17961 
2016-05-12 23:03:05,525 INFO mapred.Task (Task.java:sendDone(1121)) - Task 'attempt_local1427897879_0120_m_000000_0' done. 
2016-05-12 23:03:05,525 INFO mapred.LocalJobRunner (LocalJobRunner.java:run(249)) - Finishing task: attempt_local1427897879_0120_m_000000_0 
2016-05-12 23:03:05,525 INFO mapred.LocalJobRunner (LocalJobRunner.java:run(224)) - Starting task: attempt_local1427897879_0120_m_000001_0 
2016-05-12 23:03:05,525 INFO mapred.Task (Task.java:initialize(587)) - Using ResourceCalculatorProcessTree : [ ] 
2016-05-12 23:03:05,526 INFO mapred.MapTask (MapTask.java:updateJobWithSplit(462)) - Processing split: file:/home/hduser/workspace/Test1/training/pool.txt~:0+17939 
2016-05-12 23:03:05,526 INFO mapred.MapTask (MapTask.java:runOldMapper(416)) - numReduceTasks: 1 
2016-05-12 23:03:05,527 INFO mapred.MapTask (MapTask.java:createSortingCollector(388)) - Map output collector class = org.apache.hadoop.mapred.MapTask$MapOutputBuffer 
2016-05-12 23:03:05,550 INFO mapred.MapTask (MapTask.java:setEquator(1182)) - (EQUATOR) 0 kvi 26214396(104857584) 
2016-05-12 23:03:05,550 INFO mapred.MapTask (MapTask.java:init(975)) - mapreduce.task.io.sort.mb: 100 
2016-05-12 23:03:05,550 INFO mapred.MapTask (MapTask.java:init(976)) - soft limit at 83886080 
2016-05-12 23:03:05,550 INFO mapred.MapTask (MapTask.java:init(977)) - bufstart = 0; bufvoid = 104857600 
2016-05-12 23:03:05,550 INFO mapred.MapTask (MapTask.java:init(978)) - kvstart = 26214396; length = 6553600 
2016-05-12 23:03:05,552 INFO mapred.LocalJobRunner (LocalJobRunner.java:statusUpdate(591)) - 

ich die ähnliche Vorlagefrage bereits auf Stackoverflow gefragt [how to suppress Hadoop logging message on the console aber es hat nicht geholfen, mir niether klare Antwort wird diskutiert. Ich habe versucht, in einigen Forum vorgeschlagen folgende Konfiguration verwenden, aber es ist nicht working.I haben versucht Einstellung folgende in hadoop-env.sh

export HADOOP_HOME_WARN_SUPPRESS=1 
export HADOOP_ROOT_LOGGER="WARN,DRFA" 

Ich habe auch versucht, die Datei log4j.properties Bearbeitung durch folgende Werte einstellen ..

Aber ich bin immer noch nicht in der Lage, diese Protokollierung Nachrichten von hadoop mapreduce während der Laufzeitausführung loszuwerden.Ich verzögere meine Ausgabe auf der Konsole als auch.Ist ihre Workaround oder jede Java-Code, die ich in meinem einbinden kann code und unterdrücken die messages.any Vorschläge, help..Anyone weiß ??

Vielen Dank !!

Antwort

0

Ich habe eine Lösung dafür gefunden.Alles, was es braucht, ist die Konfigurationsdatei von mapreduce zu ändern.

1.mapreduce.map.log.level kann Werte wie OFF, FATAL, FEHLER, WARN, INFO, DEBUG, TRACE und ALL annehmen. Die Einstellung könnte außer Kraft gesetzt werden, wenn "mapreduce.job.log4j-properties-file" gesetzt ist.

  1. mapreduce.reduce.log.level kann auch Werte wie OFF, FATAL, FEHLER, WARN, INFO, DEBUG, TRACE und ALL annehmen. Die Einstellung könnte außer Kraft gesetzt werden, wenn "mapreduce.job.log4j-properties-file" gesetzt ist. Es ist also besser sicherzustellen, dass "mapreduce.job.log4j-properties-file" nicht gesetzt ist.

Wir müssen folgende Eigenschaften in der mapred-site.xml einstellen.

<property> 
<name>mapreduce.map.log.level</name> 
<value>OFF</value> 
</property> 


<property> 
<name>mapreduce.reduce.log.level</name> 
<value>OFF</value> 
</property> 

Jetzt kann ich keine Log-Meldungen auf dem console.But sieht es auch Nachteile hat, wie wir einen Fehler herauszufinden, kippen, wenn es auftritt, während den mapreduce Code ausgeführt, da keine Protokollmeldungen sichtbar sind.

Verwandte Themen