2016-08-01 193 views
7

我们正在通过​​运行Spark作业,并且我可以看到在失败的情况下将重新提交作业。如何限制Spark作业失败时的重试次数?

如何防止纱线容器发生故障或出现异常情况时尝试#2?

enter image description here

+0

不错!我一直在梦想着能够看到应用程序尝试增加的用例。你知道是什么原因造成的吗? –

+0

由于缺少内存和“超出GC开销限制”问题,导致容器分配失败时发生了这种情况。 – codingtwinky

回答

5

有控制的重试次数(即ApplicationMaster注册尝试与纱线的最大数量被认为失败,并因此整个火花应用)两个设置:

  • spark.yarn.maxAppAttempts - Spark自己的设置。见MAX_APP_ATTEMPTS

    private[spark] val MAX_APP_ATTEMPTS = ConfigBuilder("spark.yarn.maxAppAttempts") 
        .doc("Maximum number of AM attempts before failing the app.") 
        .intConf 
        .createOptional 
    
  • yarn.resourcemanager.am.max-attempts - YARN自己设置默认为2。

(正如你在YarnRMClient.getMaxRegAttempts看到)的实际数量的纱和星火的配置设置最低YARN是最后的选择。

2

财产yarn.resourcemanager.am.max-attempts添加到您的纱default.xml中的文件。它指定了最大的应用程序尝试次数。

详情调查此link

相关问题