2016-03-01 61 views
3

Mesos中是否有可能具有动态集群大小 - 集群CPU和RAM配额总数是否设置?Mesos - 动态集群大小

Mesos知道我的AWS凭证,并且只有在存在不适合现有资源的新作业时才会生成新的ec2实例。 (AWS或其他云提供商)。类似于 - 当作业完成时它可能会杀死ec2实例。

它可以是Mesos插件/框架或一些外部工具 - 任何帮助表示赞赏。

感谢

回答

2

我们正在做的是我们正在使用Mesos监视工具和HTTP端点@http://mesos.apache.org/documentation/latest/endpoints/来监视群集。

我们有自己的框架,可以从主节点和从节点获取所有相关信息,我们的算法使用该信息来缩放群集。

例如,如果群集CPU利用率大于0.90,我们将启动一个新实例并将该从属设备注册到主设备。

1

如果我理解正确你你正在寻找一个解决方案来自动缩放你的Mesos集群?

有些人会在AWS上做什么,例如创建一个autoscaling group,允许他们根据自己的需要扩大和缩小代理/从属节点的数量。 请注意,按比例放大/缩小的触发器通常取决于应用程序(例如,一个应用程序可以100%利用率,其他80%应该已经触发了放大操作)。

有关使用AWS自动缩放组的示例,您可以看看Mesosphere DCOS Community edition(注意,如上所述,您仍然必须编写缩放缩放组的缩放组的触发器代码)。

+0

这部分回答了我的问题,我只是想在不同的地方使用自动缩放触发器。不是为了扩大现有工作的集群,而是为了新的工作。所以情况如下:我创建一个需要10个CPU的作业,Mesos只有5个可用,但Mesos知道它仍然可以创建10个EC2实例,所以它创建了一个包含8个CPU的实例,并将其中的一些分配给我的任务。 –

+0

您可以做的是编写一个应用程序来检查集群利用率(Mesos Metrics)和新部署(Marathon API),并在上述场景中缩放ec2 autoscaling组(ec2 API)。请参阅https://github.com/mesosphere/marathon-autoscale以自动缩放应用程序为例.... – js84

0

AFAIK,Mesos不能自动缩放本身;它需要有人启动群集的Mesos Agent。一种选择是构建一个脚本并由Marathon管理,此脚本用于在比较框架和Mesos群集中的未完成任务后启动/停止代理。