Тест Spark не пройден из-за сбоя ступени

Недавно я обновил приложение с Spark 1.4.1 до 1.6.0, когда модульные тесты в моем приложении (в ScalaTest 3.0) внезапно терпят неудачу, что не связано с API или изменениями поведения в Spark.

Странно то, что каждый раз, когда я запускаю тесты с sbt test, другой тест не проходит и всегда со следующим сообщением:

[info]   org.apache.spark.SparkException: Job aborted due to stage failure: Task 87 in stage 206.0 failed 1 times, most recent failure: Lost task 87.0 in stage 206.0 (TID 4228, localhost): ExecutorLostFailure (executor driver exited caused by one of the running
 tasks) Reason: Executor heartbeat timed out after 148400 ms
[info] Driver stacktrace:
[info]   at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1431)
[info]   at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1419)
[info]   at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1418)
[info]   at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
[info]   at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
[info]   at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1418)
[info]   at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:799)
[info]   at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:799)
[info]   at scala.Option.foreach(Option.scala:236)
[info]   at org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:799)
[info]   ...

Я установил следующее в build.sbt:

javaOptions in test += "-Xmx2G"
fork in test := true
parallelExecution in test := false

Итак, модульные тесты в порядке, но что-то происходит, чего я не могу понять. У кого-нибудь есть идея?


person Ian    schedule 07.10.2016    source источник


Ответы (1)


Поскольку этот код работал, я подозреваю, что настройки памяти по умолчанию (исполнитель, драйвер или служебные данные) могли измениться при обновлении.

Пожалуйста, разместите журналы пряжи для вашего идентификатора приложения. Там будет более подробная информация об ошибке.

Кроме того, см. эту ссылку для аналогичной ошибки https://community.cloudera.com/t5/Advanced-Analytics-Apache-Spark/Executor-Timed-Out/td-p/45097

person ganeiy    schedule 07.10.2016
comment
Журналов YARN нет, потому что тесты выполняются локально на моей машине. - person Ian; 07.10.2016