我正在使用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
。
任何人都可以建议或指向如何解决此问题的链接。
答案 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