DCOS集群缩放
我有一个具有3个代理节点的DCOS集群;我很少有像DCOS上运行火花的服务。DCOS集群缩放
- 如果我扩大我的DCOS集群,做我需要扩展我的火花以及 (因为如果我添加了一个4节点DCOS集群,当我运行的火花 工作,主机可分配资源火花作业在 第四个节点上运行,火花没有安装,因此会失败)?
在我的观察,我发现,作业提交到Mesos主看到任何节点。
- 有没有一种方法可以指定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
- 您可以控制工作在马拉松跑,但据我所知不是Spark,通过DCOS。我认为你将能够在底层Mesos配置中实现它,但不推荐。您可以在一个集群DCOS内创建多个星火“集群”,并选择其中的火花实例提交:
要安装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/
在1上,我期望DCOS能够自动理解Spark的安装位置并相应地分配资源。否则,如果我有500个节点的DCOS群集,我可能不得不在每个节点都安装Spark,这是不好的。你认为在这种情况下服务发现会有所帮助吗? – learninghuman
如果您使用DCOS,则不需要在每个节点上手动安装Spark,而是使用DCOS CLI安装Spark'包',该DCOS CLI负责手动提升。道歉,如果我误导你。 Spark发行版由Docker镜像处理。至少在默认的DCOS安装上它有。 – ImDarrenG
如果我在DC/OS上安装Spark软件包,我已经看到它根据所需实例的数量安装在集群中的节点上。 Spark不会安装在所有节点上,也就是说,如果群集中有100个节点,并且如果我只安装5个实例的火花,那么它将只安装在最多5台机器上。现在的问题是,当Spark作业被提交时,Mesos会将资源分配给Spark未安装的节点。因此它失败了。我已经看到了这种情况,我希望DC/OS只在安装了Spark的节点上分配资源。思考? – learninghuman
至于downvote没有解释供给,我upvoting回零。 – ImDarrenG