2017-08-21 2 views
0

Meine Spark-Anwendung ist aufgrund der Ausnahme "FileSystem closed" fehlgeschlagen. Ein typischer Stacktrace ist am Ende angebracht. Ich habe etwas recherchiert und dies zeigt an, dass der Executor heruntergefahren wurde (siehe this post).Spark-Anwendung schlägt aufgrund der Ausnahme "FileSystem closed" fehl

Dies könnte aufgrund von großen Shuffle- oder Out-of-Memory-Ausnahmen passieren, aber ich konnte keine davon im Garnprotokoll finden.

Meine Frage ist:

  1. wenn diese Ausnahme passiert ist, wo würde ich sie, wenn nicht in den Faden Protokolle finden?
  2. Wenn diese Ausnahmen nie vorkommen, was sollte ich tun, außer die Garnliste zu untersuchen?

Vielen Dank!

Hier ist ein Ausschnitt aus Garn log:

2017-08-21 01:55:10,668 ERROR org.apache.spark.scheduler.LiveListenerBus: Listener EventLoggingListener threw an exception 
java.io.IOException: Filesystem closed 
     at org.apache.hadoop.hdfs.DFSClient.checkOpen(DFSClient.java:837) 
     at org.apache.hadoop.hdfs.DFSOutputStream.flushOrSync(DFSOutputStream.java:2170) 
     at org.apache.hadoop.hdfs.DFSOutputStream.hflush(DFSOutputStream.java:2116) 
     at org.apache.hadoop.fs.FSDataOutputStream.hflush(FSDataOutputStream.java:130) 
     at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at com.pepperdata.common.reflect.b.b(SourceFile:149) 
     at com.pepperdata.common.reflect.b.c(SourceFile:205) 
     at com.pepperdata.supervisor.agent.resource.T.b(SourceFile:102) 
     at com.pepperdata.supervisor.agent.resource.I.hflush(SourceFile:61) 
     at org.apache.spark.scheduler.EventLoggingListener$$anonfun$logEvent$3.apply(EventLoggingListener.scala:140) 
     at org.apache.spark.scheduler.EventLoggingListener$$anonfun$logEvent$3.apply(EventLoggingListener.scala:140) 
     at scala.Option.foreach(Option.scala:236) 
     at org.apache.spark.scheduler.EventLoggingListener.logEvent(EventLoggingListener.scala:140) 
     at org.apache.spark.scheduler.EventLoggingListener.onJobStart(EventLoggingListener.scala:163) 
     at org.apache.spark.scheduler.SparkListenerBus$class.doPostEvent(SparkListenerBus.scala:37) 
     at org.apache.spark.scheduler.LiveListenerBus.doPostEvent(LiveListenerBus.scala:36) 
     at org.apache.spark.scheduler.LiveListenerBus.doPostEvent(LiveListenerBus.scala:36) 
     at org.apache.spark.util.ListenerBus$class.postToAll(ListenerBus.scala:63) 
     at org.apache.spark.scheduler.LiveListenerBus.postToAll(LiveListenerBus.scala:36) 
     at org.apache.spark.scheduler.LiveListenerBus$$anon$1$$anonfun$run$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(LiveListenerBus.scala:94) 
     at org.apache.spark.scheduler.LiveListenerBus$$anon$1$$anonfun$run$1$$anonfun$apply$mcV$sp$1.apply(LiveListenerBus.scala:79) 
     at org.apache.spark.scheduler.LiveListenerBus$$anon$1$$anonfun$run$1$$anonfun$apply$mcV$sp$1.apply(LiveListenerBus.scala:79) 
     at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57) 
     at org.apache.spark.scheduler.LiveListenerBus$$anon$1$$anonfun$run$1.apply$mcV$sp(LiveListenerBus.scala:78) 
     at org.apache.spark.util.Utils$.tryOrStopSparkContext(Utils.scala:1245) 
     at org.apache.spark.scheduler.LiveListenerBus$$anon$1.run(LiveListenerBus.scala:77) 
+0

Mögliche Duplikate von [Spark schlägt bei großen Shuffle-Jobs mit java.io.IOException fehl: Dateisystem geschlossen] (https://stackoverflow.com/questions/24038908/spark-fails-on-big-shuffle-jobs-with- Java-io-ioexception-Dateisystem geschlossen –

Antwort

1

Nun, ich ist gerade herausgefunden, um die Ursache des Problems ist die gleiche Dateisystem wird mehrmals versehentlich geschlossen(). Wenn close() nicht aufgerufen wird, verschwindet die Ausnahme.

Verwandte Themen