如何在 DSE 中配置 Spark 作业服务器以对作业进行排队直至资源可用?

问题描述 投票:0回答:1

我们正在使用 DataStax Enterprise,它支持 Spark 和 Spark Job 服务器。

我们有3个节点的olap casandra集群,每个节点配置8核处理器和32G RAM

到目前为止,我们的 Spark 作业与上述配置有关,我最多能够以低延迟并行运行 4 个 Spark 作业。

我正在使用预先创建的 Spark 上下文通过 Spark 作业服务器 api 提交作业,内置 Spark 作业服务器也有一次并行提交 8 个 Spark 的限制,并且一旦获得更多作业,它就会开始拒绝作业已提交。

我需要一种机制,在该机制中,我的 Spark 作业在任何时刻都只能处理 4 个作业,其余的 Spark 作业应保留在队列中,直到任何 Spark 作业修复并且我们有可用的槽位来处理。

如何在内置 Spark 的 DSE Cassandra 上或以正常 Spark 方式实现此目的?

我不知道如何在 Spark 集群上放置排队机制以及如何使用不同的参数进行控制。

DSE Spark 有自己的资源管理器,并且没有任何 MESOS 或 YARN 功能,通过它我想我们可以将作业提交到特定队列。

apache-spark cassandra datastax-enterprise spark-cassandra-connector spark-jobserver
1个回答
0
投票

DataStax Enterprise (DSE) 附带开源 Spark Job Server,用于运行 DSE 分析工作负载的集群。具体来说,DSE 6.8.12 附带 Spark Job Server v0.8.0

您要求的排队机制不是作业服务器中提供的功能。

无论如何,作业服务器只是提供一个 REST API 用于将作业提交到 Spark 集群。 Spark Master 的角色是协调和管理 Spark 应用程序,向 Spark Worker 节点请求资源(CPU、内存)来执行作业。

如果可用资源不足(CPU、内存或两者都不足),则提交的 Spark 应用程序将在队列中等待,直到资源可用。

如果您认为 Spark 应用程序占用了节点上过多的内存或 CPU,请考虑通过在

dse.yaml
中设置相关 Spark 工作器选项来降低工作器节点可用的资源量。有关详细信息,请参阅在 DataStax Enterprise 中配置 Spark 节点。干杯!

© www.soinside.com 2019 - 2024. All rights reserved.