Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: IanОтветов: 1

Недавно я обновил приложение с 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

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

apache-sparkscalasbtscalatest

Ответы

Ответ 1 · рейтинг 1 · ganeiy

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

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы