相关疑难解决方法(0)

为什么加入失败的"java.util.concurrent.TimeoutException:期货在[300秒]之后超时"?

我正在使用Spark 1.5.

我有两个表格的数据框:

scala> libriFirstTable50Plus3DF
res1: org.apache.spark.sql.DataFrame = [basket_id: string, family_id: int]

scala> linkPersonItemLessThan500DF
res2: org.apache.spark.sql.DataFrame = [person_id: int, family_id: int]
Run Code Online (Sandbox Code Playgroud)

libriFirstTable50Plus3DF766,151条记录,linkPersonItemLessThan500DF26,694,353条记录.请注意我正在使用repartition(number),linkPersonItemLessThan500DF因为我打算稍后加入这两个.我正在跟进以上代码:

val userTripletRankDF = linkPersonItemLessThan500DF
     .join(libriFirstTable50Plus3DF, Seq("family_id"))
     .take(20)
     .foreach(println(_))
Run Code Online (Sandbox Code Playgroud)

我得到这个输出:

16/12/13 15:07:10 INFO scheduler.TaskSetManager: Finished task 172.0 in stage 3.0 (TID 473) in 520 ms on mlhdd01.mondadori.it (199/200)
java.util.concurrent.TimeoutException: Futures timed out after [300 seconds]
at scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:219)
at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:223)
at scala.concurrent.Await$$anonfun$result$1.apply(package.scala:107)
at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:        at scala.concurrent.Await$.result(package.scala:107)
at org.apache.spark.sql.execution.joins.BroadcastHashJoin.doExecute(BroadcastHashJoin.scala:110)
at …
Run Code Online (Sandbox Code Playgroud)

scala join apache-spark apache-spark-sql

41
推荐指数
3
解决办法
4万
查看次数

错误yarn.ApplicationMaster:未捕获异常:java.util.concurrent.TimeoutException:期货在100000毫秒后超时

我在我的spark应用程序中有这个问题,我使用1.6 spark版本,scala 2.10:

17/10/23 14:32:15 ERROR yarn.ApplicationMaster: Uncaught exception: 
java.util.concurrent.TimeoutException: Futures timed out after [100000
milliseconds]at
scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:219)
at
scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:223)
at scala.concurrent.Await$$anonfun$result$1.apply(package.scala:107)
at
scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53)
at scala.concurrent.Await$.result(package.scala:107) at
org.apache.spark.deploy.yarn.ApplicationMaster.runDriver(ApplicationMaster.scala:342)
at
org.apache.spark.deploy.yarn.ApplicationMaster.run(ApplicationMaster.scala:197)
at
org.apache.spark.deploy.yarn.ApplicationMaster$$anonfun$main$1.apply$mcV$sp(ApplicationMaster.scala:680)
at
org.apache.spark.deploy.SparkHadoopUtil$$anon$1.run(SparkHadoopUtil.scala:69)
at
org.apache.spark.deploy.SparkHadoopUtil$$anon$1.run(SparkHadoopUtil.scala:68)
at java.security.AccessController.doPrivileged(Native Method) at
javax.security.auth.Subject.doAs(Subject.java:422) at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1917)
at
org.apache.spark.deploy.SparkHadoopUtil.runAsSparkUser(SparkHadoopUtil.scala:68)
at
org.apache.spark.deploy.yarn.ApplicationMaster$.main(ApplicationMaster.scala:678)
at
org.apache.spark.deploy.yarn.ApplicationMaster.main(ApplicationMaster.scala)
17/10/23 14:32:15 INFO yarn.ApplicationMaster: Final app status:
FAILED, exitCode: 10, (reason: Uncaught exception:
java.util.concurrent.TimeoutException: Futures timed out after [100000
milliseconds]) 17/10/23 14:32:15 INFO spark.SparkContext: Invoking
stop() from shutdown hook 17/10/23 14:32:15 INFO …
Run Code Online (Sandbox Code Playgroud)

akka apache-spark apache-spark-sql

7
推荐指数
2
解决办法
4999
查看次数

显示所有作业完成后,Spark作业重新启动,然后失败(TimeoutException:[300秒]之后,期货超时)

我正在做火花工作。它显示所有工作均已完成: 在此处输入图片说明

但是,几分钟后,整个作业将重新启动,这一次它将显示所有作业和任务也已完成,但是几分钟后,它将失败。我在日志中发现了此异常:

java.util.concurrent.TimeoutException: Futures timed out after [300 seconds]
Run Code Online (Sandbox Code Playgroud)

因此,当我尝试连接2个非常大的表时就会发生这种情况:3B行之一,第二行为200M行,当我show(100)在结果数据帧上运行时,所有内容都经过评估,而我遇到了这个问题。

我尝试增加/减少分区数,然后通过增加线程数将垃圾收集器更改为G1。我更改spark.sql.broadcastTimeout为600(这使超时消息更改为600秒)。

我还读到这可能是一个通信问题,但是show()在此代码段之前运行的其他子句可以正常工作,所以可能不是。

这是submit命令:

/opt/spark/spark-1.4.1-bin-hadoop2.3/bin/spark-submit  --master yarn-cluster --class className --executor-memory 12g --executor-cores 2 --driver-memory 32g --driver-cores 8 --num-executors 40 --conf "spark.executor.extraJavaOptions=-XX:+UseG1GC -XX:ConcGCThreads=20" /home/asdf/fileName-assembly-1.0.jar
Run Code Online (Sandbox Code Playgroud)

您可以了解Spark版本以及从那里使用的资源。

我从这里去哪里?我们将不胜感激,如有需要,还将提供代码段/其他日志记录。

scala apache-spark apache-spark-sql spark-dataframe

5
推荐指数
1
解决办法
5925
查看次数