Spark application fails due to "FileSystem closed" exception -
my spark application failed due "filesystem closed" exception. typical stacktrace attached @ end. did research , indicates executor got shutdown (see this post).
this happen due large shuffle or out-of-memory exceptions, couldn't find of in yarn log.
my question is:
- if exception happened, find them if not in yarn logs?
- if exceptions never happen, should other investigating yarn log?
thanks!
here snippet of yarn log:
2017-08-21 01:55:10,668 error org.apache.spark.scheduler.livelistenerbus: listener eventlogginglistener threw exception java.io.ioexception: filesystem closed @ org.apache.hadoop.hdfs.dfsclient.checkopen(dfsclient.java:837) @ org.apache.hadoop.hdfs.dfsoutputstream.flushorsync(dfsoutputstream.java:2170) @ org.apache.hadoop.hdfs.dfsoutputstream.hflush(dfsoutputstream.java:2116) @ org.apache.hadoop.fs.fsdataoutputstream.hflush(fsdataoutputstream.java:130) @ sun.reflect.generatedmethodaccessor11.invoke(unknown source) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:498) @ com.pepperdata.common.reflect.b.b(sourcefile:149) @ com.pepperdata.common.reflect.b.c(sourcefile:205) @ com.pepperdata.supervisor.agent.resource.t.b(sourcefile:102) @ com.pepperdata.supervisor.agent.resource.i.hflush(sourcefile:61) @ org.apache.spark.scheduler.eventlogginglistener$$anonfun$logevent$3.apply(eventlogginglistener.scala:140) @ org.apache.spark.scheduler.eventlogginglistener$$anonfun$logevent$3.apply(eventlogginglistener.scala:140) @ scala.option.foreach(option.scala:236) @ org.apache.spark.scheduler.eventlogginglistener.logevent(eventlogginglistener.scala:140) @ org.apache.spark.scheduler.eventlogginglistener.onjobstart(eventlogginglistener.scala:163) @ org.apache.spark.scheduler.sparklistenerbus$class.dopostevent(sparklistenerbus.scala:37) @ org.apache.spark.scheduler.livelistenerbus.dopostevent(livelistenerbus.scala:36) @ org.apache.spark.scheduler.livelistenerbus.dopostevent(livelistenerbus.scala:36) @ org.apache.spark.util.listenerbus$class.posttoall(listenerbus.scala:63) @ org.apache.spark.scheduler.livelistenerbus.posttoall(livelistenerbus.scala:36) @ org.apache.spark.scheduler.livelistenerbus$$anon$1$$anonfun$run$1$$anonfun$apply$mcv$sp$1.apply$mcv$sp(livelistenerbus.scala:94) @ org.apache.spark.scheduler.livelistenerbus$$anon$1$$anonfun$run$1$$anonfun$apply$mcv$sp$1.apply(livelistenerbus.scala:79) @ org.apache.spark.scheduler.livelistenerbus$$anon$1$$anonfun$run$1$$anonfun$apply$mcv$sp$1.apply(livelistenerbus.scala:79) @ scala.util.dynamicvariable.withvalue(dynamicvariable.scala:57) @ org.apache.spark.scheduler.livelistenerbus$$anon$1$$anonfun$run$1.apply$mcv$sp(livelistenerbus.scala:78) @ org.apache.spark.util.utils$.tryorstopsparkcontext(utils.scala:1245) @ org.apache.spark.scheduler.livelistenerbus$$anon$1.run(livelistenerbus.scala:77)
well found out cause of problem same filesystem accidentally gets closed() multiple times. not calling close() makes exception disappear.
Comments
Post a Comment