DCOS集群缩放

问题描述:

我有一个具有3个代理节点的DCOS集群;我很少有像DCOS上运行火花的服务。DCOS集群缩放

  1. 如果我扩大我的DCOS集群,做我需要扩展我的火花以及 (因为如果我添加了一个4节点DCOS集群,当我运行的火花 工作,主机可分配资源火花作业在 第四个节点上运行,火花没有安装,因此会失败)?

在我的观察,我发现,作业提交到Mesos主看到任何节点。

  1. 有没有一种方法可以指定Spark作业不在某些节点上运行?
+0

至于downvote没有解释供给,我upvoting回零。 – ImDarrenG

  1. 缺省情况下,这样你才会有规模的火花。在这个范围内,我指的是添加更多的执行者。不需要执行任何额外的软件包安装来支持这一点。

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

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. 您可以控制工作在马拉松跑,但据我所知不是Spark,通过DCOS。我认为你将能够在底层Mesos配置中实现它,但不推荐。您可以在一个集群DCOS内创建多个星火“集群”,并选择其中的火花实例提交:
  2. 要安装DC/OS星火包装的多发的情况下,每个 service.name设置一个唯一名称(例如:“火花开发”)在您的JSON 配置文件,在安装过程中:

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

    从DC/OS星火CLI使用特定星火实例:

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

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

开始=>
+0

在1上,我期望DCOS能够自动理解Spark的安装位置并相应地分配资源。否则,如果我有500个节点的DCOS群集,我可能不得不在每个节点都安装Spark,这是不好的。你认为在这种情况下服务发现会有所帮助吗? – learninghuman

+0

如果您使用DCOS,则不需要在每个节点上手动安装Spark,而是使用DCOS CLI安装Spark'包',该DCOS CLI负责手动提升。道歉,如果我误导你。 Spark发行版由Docker镜像处理。至少在默认的DCOS安​​装上它有。 – ImDarrenG

+0

如果我在DC/OS上安装Spark软件包,我已经看到它根据所需实例的数量安装在集群中的节点上。 Spark不会安装在所有节点上,也就是说,如果群集中有100个节点,并且如果我只安装5个实例的火花,那么它将只安装在最多5台机器上。现在的问题是,当Spark作业被提交时,Mesos会将资源分配给Spark未安装的节点。因此它失败了。我已经看到了这种情况,我希望DC/OS只在安装了Spark的节点上分配资源。思考? – learninghuman