Apache spark 覆盖Spark应用程序资源需求
我目前正在建立一个Spark群集,该群集将由多组客户使用,我对Spark中的资源分配方法有点困惑 Spark集群的治理模型似乎有些欠缺,因为每个应用程序都可以指定自己的资源需求,从而有效地消耗整个集群并阻塞其他应用程序 我知道我可以使用spark.deploy.defaultcores来消除应用程序意外请求所有可用内核的情况,但这仍然会导致应用程序指定的spark.cores.max远远高于实际获得的值。这在共享集群中是一个真正的问题Apache spark 覆盖Spark应用程序资源需求,apache-spark,Apache Spark,我目前正在建立一个Spark群集,该群集将由多组客户使用,我对Spark中的资源分配方法有点困惑 Spark集群的治理模型似乎有些欠缺,因为每个应用程序都可以指定自己的资源需求,从而有效地消耗整个集群并阻塞其他应用程序 我知道我可以使用spark.deploy.defaultcores来消除应用程序意外请求所有可用内核的情况,但这仍然会导致应用程序指定的spark.cores.max远远高于实际获得的值。这在共享集群中是一个真正的问题 是否有任何方法可以覆盖单个应用程序指定的资源需求?共享集群中
是否有任何方法可以覆盖单个应用程序指定的资源需求?共享集群中的Spark不会产生任何问题,因为大多数情况下,您将在资源管理器(如Thread或Mesos)上运行Spark应用程序 纱线/Mesos在资源管理方面都非常好,您可以为不同的组创建自己的纱线队列。您可以为为多个用户的调度作业创建的队列选择调度程序算法
除此之外,您还可以在spark中启用动态资源分配,这将允许根据需要进行运行时资源分配/取消分配。感谢您的深入了解。我们目前正在使用独立模式,因为我们不想扩展堆栈超过我们需要的范围(集群将专用于Spark),所以我希望有一些方法可以通过Spark本身实现这一点。纱线/介观是否只允许每个用户分配不同的资源,或者是否有进一步的粒度?例如,是否可以使用同一帐户向不同的资源“队列”提交纱线/Mesos中的spark作业?