DCOS 集群伸缩

DCOS cluster scaling

我有一个包含 3 个代理节点的 DCOS 集群;我在 DCOS 上几乎没有像 spark 运行 这样的服务。

  1. If i scale my DCOS cluster, do i need to scale my spark as well (because if i add a 4th node to DCOS cluster and when i run a spark job, master may allocate resources for the spark job to be run on the 4th node where spark is not installed and hence it will fail)?

根据我的观察,我发现作业正在提交到 Mesos 管理节点看到的任何节点。

  1. Is there a way where i can specify Spark job not run on certain nodes?
  1. 默认情况下不是,因此您必须扩展 Spark。在这种情况下,按规模我指的是增加更多的执行者。无需执行任何额外的软件包安装来支持此功能。

动态分配可能会有帮助,但我没有使用过它:

http://spark.apache.org/docs/latest/running-on-mesos.html#dynamic-resource-allocation-with-mesos

http://spark.apache.org/docs/latest/job-scheduling.html#dynamic-resource-allocation

  1. 您可以通过 DCOS 在 Marathon 中控制作业 运行 的位置,但据我所知不能控制 Spark。我认为您将能够在底层 Mesos 配置中实现它,但不推荐这样做。您可以在一个DCOS集群中创建多个Spark'clusters'并选择提交到哪个spark实例:

To install mutiple instances of the DC/OS Spark package, set each service.name to a unique name (e.g.: “spark-dev”) in your JSON configuration file during installation:

{
  "service": {
    "name": "spark-dev"
  }
}

To use a specific Spark instance from the DC/OS Spark CLI:

$ dcos config set spark.app_id <service.name>

https://docs.mesosphere.com/1.8/usage/service-guides/spark/install/