火花失败-期货超时

问题描述 投票:2回答:1

我正在使用在Amazon EMR集群上运行的apache spark 2.2.1。有时工作因“超时”而失败:

java.util.concurrent.TimeoutException:期货在[100000毫秒]之后超时在scala.concurrent.impl.Promise $ DefaultPromise.ready(Promise.scala:219)在scala.concurrent.impl.Promise $ DefaultPromise.result(Promise.scala:223)在org.apache.spark.util.ThreadUtils $ .awaitResult(ThreadUtils.scala:201)在org.apache.spark.deploy.yarn.ApplicationMaster.runDriver(ApplicationMaster.scala:401)在org.apache.spark.deploy.yarn.ApplicationMaster.run(ApplicationMaster.scala:254)在org.apache.spark.deploy.yarn.ApplicationMaster $$ anonfun $ main $ 1.apply $ mcV $ sp(ApplicationMaster.scala:764)在org.apache.spark.deploy.SparkHadoopUtil $$ anon $ 2.run(SparkHadoopUtil.scala:67)在org.apache.spark.deploy.SparkHadoopUtil $$ anon $ 2.run(SparkHadoopUtil.scala:66)在java.security.AccessController.doPrivileged(本机方法)在javax.security.auth.Subject.doAs(Subject.java:422)在org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1836)在org.apache.spark.deploy.SparkHadoopUtil.runAsSparkUser(SparkHadoopUtil.scala:66)在org.apache.spark.deploy.yarn.ApplicationMaster $ .main(ApplicationMaster.scala:762)在org.apache.spark.deploy.yarn.ApplicationMaster.main(ApplicationMaster.scala)

我更改了spark-defaults.conf中的2个参数:

spark.sql.broadcastTimeout 1000
spark.network.timeout 10000000

但是没有帮助。

您对如何处理此超时有任何建议吗?

apache-spark amazon-emr
1个回答
0
投票

您是否尝试过设置spark.yarn.am.waitTime

仅在群集模式下使用。 YARN Application Master的时间等待SparkContext初始化。

上面的引文来自here

关于我的情况的更多背景:

我正在使用spark-submit来执行java-spark作业。由于我将客户端部署到群集,并且由于客户端执行的运行时间非常长,因此导致超时。

我绕过它:

spark-submit --master yarn --deploy-mode cluster --conf "spark.yarn.am.waitTime=600000" 
© www.soinside.com 2019 - 2024. All rights reserved.