gsa*_*ras 21 python hadoop distributed-computing bigdata apache-spark
当使用spark-1.6.2和pyspark时,我看到了这个:
您可以看到活动任务是否为负数(总任务与已完成任务的差异).
这个错误的来源是什么?
节点我有很多执行者.但是,似乎有一项任务似乎已经空闲(我没有看到任何进展),而另一项相同的任务正常完成.
这也是相关的:邮件我可以确认正在创建许多任务,因为我使用的是1k或2k执行程序.
我得到的错误有点不同:
16/08/15 20:03:38 ERROR LiveListenerBus: Dropping SparkListenerEvent because no remaining room in event queue. This likely means one of the SparkListeners is too slow and cannot keep up with the rate at which tasks are being started by the scheduler.
16/08/15 20:07:18 WARN TaskSetManager: Lost task 20652.0 in stage 4.0 (TID 116652, myfoo.com): FetchFailed(BlockManagerId(61, mybar.com, 7337), shuffleId=0, mapId=328, reduceId=20652, message=
org.apache.spark.shuffle.FetchFailedException: java.util.concurrent.TimeoutException: Timeout waiting for task.
Run Code Online (Sandbox Code Playgroud)
在S. Owen的Spark-dev邮件列表中回答,有几个与此问题相关的JIRA票证,例如:
当(许多)执行程序在失败后重新启动时,通常会发生此行为.
当应用程序使用太多执行程序时,也会发生此行为.使用coalesce()
来解决这种情况.
确切地说,在使用Spark通过Python准备我的bigdata时,我有超过400k的分区.我使用data.coalesce(1024)
,如Repartition中描述的RDD,我能够绕过Spark UI错误.在分布式计算和Spark方面,您看到分区是一个非常重要的概念.
在我的问题中,我也使用1-2k执行器,所以它必须是相关的.
注意:分区太少,您可能会遇到此Spark Java错误:大小超过Integer.MAX_VALUE.
小智 6
这是一个Spark问题.当执行程序在失败后重新启动时会发生.已经创建了相同的JIRA问题.您可以从https://issues.apache.org/jira/browse/SPARK-10141链接获取有关相同内容的更多详细信息.
归档时间: |
|
查看次数: |
2361 次 |
最近记录: |