2014-07-04 12 views
6

Ich funke-1.0.0 durch Verbindung zu einem Funke Standalone-Cluster, die einen Master und zwei Slaves hat. Ich habe wordcount.py von Spark-submit ausgeführt, tatsächlich liest es Daten von HDFS und schreibt die Ergebnisse auch in HDFS. Bis jetzt ist alles in Ordnung und die Ergebnisse werden korrekt in HDFS geschrieben. Aber die Sache macht mich besorgt ist, dass, wenn ich für jeden Arbeiter Stdout überprüfe, es leer ist, weiß ich nicht, ob es leer sein soll? und ich habe folgende in stderr:Apache Spark Stderr und Stdout

Stderr Log-Seite für einige (App-20140704174955-0002)

Spark 
Executor Command: "java" "-cp" ":: 
/usr/local/spark-1.0.0/conf: 
/usr/local/spark-1.0.0 
/assembly/target/scala-2.10/spark-assembly-1.0.0-hadoop1.2.1.jar:/usr/local/hadoop/conf" " 
-XX:MaxPermSize=128m" "-Xms512M" "-Xmx512M" "org.apache.spark.executor.CoarseGrainedExecutorBackend 
" "akka.tcp://[email protected]:54477/user/CoarseGrainedScheduler" "0" "slave2" "1 
" "akka.tcp://[email protected]:41483/user/Worker" "app-20140704174955-0002" 
======================================== 


14/07/04 17:50:14 ERROR CoarseGrainedExecutorBackend: 
Driver Disassociated [akka.tcp://[email protected]:33758] -> 
[akka.tcp://[email protected]:54477] disassociated! Shutting down. 
+0

Das ist OK. Ihr Treiberprogramm hat seine Arbeit erledigt (Wortzählung) und getrennt. – cloud

+0

Was ist mit Stdout, es ist leer, macht es Sinn? – user3789843

Antwort

8

Funke schreibt immer alles, auch INFO nach stderr. Die Leute scheinen dies zu tun, um die Pufferspeicherung von Nachrichten zu stoppen und eine weniger vorhersehbare Protokollierung zu verursachen. Es ist eine akzeptable Vorgehensweise, wenn bekannt ist, dass eine Anwendung niemals im Bash-Scripting verwendet wird, was besonders bei der Protokollierung üblich ist.

+0

Vielen Dank für die Antwort - Ich habe noch eine Frage, die sich auf ReduceBykey bezieht. Eigentlich möchte ich wissen, wie viele Slave-Knoten mit dieser Methode beteiligt sein werden? hängt es von der Anzahl der Reduzierungen ab, die wir als Argument für reduzierte Tasks festlegen? – user3789843

+0

Alle Knoten werden verwendet, sofern Sie mehr Partitionen als insgesamt Kerne haben. Es wird empfohlen, dass Sie mindestens 2-4 Partitionen pro Kern haben. Wenn Ihre Daten bereits in eine geeignete Nummer partitioniert sind, müssen Sie diesen Parameter nicht an die Methode reduceByKey übergeben. – samthebest

+1

@samthebest - sagst du, dass alle Spark-Ausgabe zu stderr geht? Ich habe ein einfaches "print()" in meiner Spark Map-Funktion gemacht, und wenn ich mir die Log-Dateien von meinem Slave-Gerät unter work/app- /0/anschaue, sehe ich die Ausdrucke in stderr, aber nicht stdout. Mein Stand ist leer. Ich finde das komisch - was ist der Sinn von stdout, wenn es immer leer ist? – user3240688

6

Versuchen dies in log4j.properties bestanden Spark (oder Standardkonfiguration unter Zünd-/conf ändern)

# Log to stdout and stderr 
log4j.rootLogger=INFO, stdout, stderr 

# Send TRACE - INFO level to stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Threshold=TRACE 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.filter.filter1=org.apache.log4j.varia.LevelRangeFilter 
log4j.appender.stdout.filter.filter1.levelMin=TRACE 
log4j.appender.stdout.filter.filter1.levelMax=INFO 
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 

# Send WARN or higher to stderr 
log4j.appender.stderr=org.apache.log4j.ConsoleAppender 
log4j.appender.stderr.Threshold=WARN 
log4j.appender.stderr.Target =System.err 
log4j.appender.stderr.layout=org.apache.log4j.PatternLayout 
log4j.appender.stderr.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 

# Change this to set Spark log level 
log4j.logger.org.apache.spark=WARN 
log4j.logger.org.apache.spark.util=ERROR 

Auch sind die Fortschrittsbalken auf INFO Ebene Stderr gesendet dargestellt sind.

Disable mit

spark.ui.showConsoleProgress=false 
Verwandte Themen