重新提交停止的应用程序后出现Spark异常

时间:2016-08-31 11:12:03

标签: scala apache-spark spark-notebook

我使用带有选项的动态分配

运行Spark作业(来自Spark笔记本)
from heap.heap import Heap

(注意:我还不确定问题是否是由dynamicAllocation引起的)

我使用Spark版本1.6.1。

如果我取消正在运行的作业/应用程序(通过按笔记本电脑上的单元格上的取消按钮,或者按下笔记本电脑服务器和应用程序)并在短时间(几分钟)之后重新启动相同的应用程序,我经常得到以下的赘言:

"spark.master": "yarn-client",
"spark.shuffle.service.enabled": "true",
"spark.dynamicAllocation.enabled": "true",
"spark.dynamicAllocation.executorIdleTimeout": "30s",
"spark.dynamicAllocation.cachedExecutorIdleTimeout": "1h",
"spark.dynamicAllocation.minExecutors": "0",
"spark.dynamicAllocation.maxExecutors": "20",
"spark.executor.cores": 2

使用Yarn ResourceManager,我在重新提交作业之前验证了旧作业不再运行。我仍然认为问题出现是因为被杀的工作尚未完全清理并干扰新推出的工作?

有人遇到了同样的问题,知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

启用动态分配时,您需要设置外部随机服务。否则,删除执行程序时将删除随机文件。这就是抛出Failed to get broadcast_3_piece0 of broadcast_3异常的原因。

有关此内容的更多信息,请参阅官方spark文档Dynamic Resource Allocation