开发者社区> 问答> 正文

如何在apache spark中处理执行程序失败

我已经使用spark-submit运行这个工作,而那个时候我们丢失了执行者,我们可以恢复或恢复的某个点,如果恢复我们将如何恢复,以及我们如何取回执行者

展开
收起
社区小助手 2018-12-21 13:41:51 1840 0
1 条回答
写回答
取消 提交回答
  • 社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。

    您无法在应用程序中以编程方式处理执行程序失败,如果这就是您所要求的。您可以配置指导实际作业执行的spark配置属性,包括YARN如何调度作业以及处理任务和执行程序失败。

    https://spark.apache.org/docs/latest/configuration.html#scheduling

    您可能想要查看的一些重要属性:

    spark.task.maxFailures(默认值= 4):放弃作业之前任何特定任务的失败次数。在不同任务中传播的故障总数不会导致作业失败; 一项特定任务必须通过这一次尝试失败。应大于或等于1.允许的重试次数=此值 - 1。

    spark.blacklist.application.maxFailedExecutorsPerNode(default = 2):(实验)在将节点列入整个应用程序的黑名单之前,必须将整个应用程序列入多少个不同的执行程序列入黑名单。在spark.blacklist.timeout指定的超时后,列入黑名单的节点将自动添加回可用资源池。但请注意,通过动态分配,节点上的执行程序可能会被标记为空闲并由集群管理器回收。

    spark.blacklist.task.maxTaskAttemptsPerExecutor(default = 1):(实验)对于给定任务,在执行者被列入黑名单之前,可以在一个执行程序上重试多少次。

    2019-07-17 23:23:23
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Flink技术进阶 立即下载
Apache Spark: Cloud and On-Prem 立即下载
Hybrid Cloud and Apache Spark 立即下载

相关镜像