Spark集群(非YARN)环境下如何设置spark-submit任务重试次数
Spark Standalone集群部署模式任务重试次数配置方案
你在Spark自带的Standalone集群部署模式下,对应YARN spark.yarn.maxAppAttempts=3的等效配置分两种场景:
场景1:仅重试异常退出的Executor(无需重启Driver)
直接配置参数 spark.deploy.maxExecutorRetries=3 即可。该参数限制单个应用下Executor的最大失败重试次数,超过阈值后应用会被标记为失败。
场景2:Driver异常退出时自动重试整个应用
需要两个配置配合使用,仅支持cluster部署模式:
- 开启Driver监督机制:设置
spark.driver.supervise=true,开启后Spark Master会持续监控Driver进程状态,异常退出时自动重新提交整个应用 - 配置最大重试次数:设置
spark.deploy.maxDriverAttempts=3,部分旧Spark版本可替换为spark.driver.maxAttempts=3
提交命令示例
spark-submit \ --master spark://<你的Master节点IP>:7077 \ --deploy-mode cluster \ --conf spark.driver.supervise=true \ --conf spark.deploy.maxDriverAttempts=3 \ --conf spark.deploy.maxExecutorRetries=3 \ 你的应用jar包路径
注意:client部署模式下Driver运行在任务提交的本地节点,Spark Master不会监控Driver进程,无法实现整应用的自动重试。
内容的提问来源于stack exchange,提问作者Rajib Bahar
相关产品推荐
相关产品推荐

