覆盖Spark应用程序资源需求

时间:2016-12-01 14:22:50

标签: apache-spark

我目前正在设置一个将由几组客户使用的Spark集群,我对Spark中的资源分配方法感到有点困惑。

似乎Spark集群的治理模型有些缺乏,因为每个应用程序都可以指定自己的资源需求,有效地消耗整个集群并阻止其他应用程序。

我知道我可以使用spark.deploy.defaultcores来消除意外最终请求所有可用内核的应用程序的情况,但仍然会留下应用程序指定spark.cores.max的情况远远高于它应该真的得到。这是共享集群中的一个真正问题......

是否有任何方法可以覆盖单个应用程序指定的资源要求?

1 个答案:

答案 0 :(得分:2)

共享集群中的Spark不会产生任何问题,因为大多数情况下,您将在Yarn或Mesos等资源管理器上运行Spark应用程序。

Yarn / Mesos在资源管理方面都非常出色,您可以为不同的组创建自己的纱线队列。您可以为为多个用户调度作业而创建的队列选择调度程序算法。

除此之外,您可以在spark中启用动态资源分配,这将允许根据需要进行运行时资源分配/解除分配。