由于Executor Lost,Spark Streaming在一段时间后停止

时间:2016-06-22 14:06:01

标签: apache-spark spark-streaming

我正在使用spark 1.3进行火花流应用。当我开始我的申请。我可以在spark UI中看到jobs中很少有failed tasks。关于调查工作细节。由于Executor Lost Exception ExecutorLostFailure (executor 11 lost)Resubmitted (resubmitted due to lost executor),我发现很少有任务失败。 在纱线的应用程序日志中,显示的唯一错误是Lost executor 11 on <machineip> remote Akka client disassociated。我没有看到任何其他异常或错误被抛出。

申请在几个小时后停止。应用程序失败时,日志显示all the executor are lost。 任何人都可以建议或指向如何解决此问题的链接。

1 个答案:

答案 0 :(得分:1)

为什么你会看到遗嘱执行人的损失,有很多潜在的选择。我过去观察到的一件事是Java垃圾收集在重负载下可能需要很长时间。因此,当GC耗时太长时,执行者会“丢失”,并在此后不久返回。

您可以通过启用执行程序GC日志记录来确定这是否是问题。只需添加以下配置: --conf“spark.executor.extraJavaOptions = -XX:+ PrintFlagsFinal -XX:+ PrintReferenceGC -verbose:gc -XX:+ PrintGCDetails -XX:+ PrintGCTimeStamps -XX:+ PrintAdaptiveSizePolicy”

有关GC调整的更多详细信息,请参阅英特尔/ DataBricks的精彩指南:https://databricks.com/blog/2015/05/28/tuning-java-garbage-collection-for-spark-applications.html