mesos 可以处理中央资源吗?

Can mesos handle central resource?

我在分布式测试系统中使用 mesos。虽然我可以很容易地指定 slave/host 资源(基于每个从属),但有没有办法在 mesos 中指定中央资源(saucelab 连接)?我试图确保在任何给定时间,我使用的中央资源不超过 X。

简答:还没有。

我们之前已经讨论过集群范围资源的想法,对于 NAS/SAN I/O、软件许可证,甚至是 IP 池,但我们没有 JIRA 用于它然而。与任何资源一样,有几个方面需要考虑:

  1. 正在注册资源。我可以想象除了 Mesos-slave 之外的一些 ResourceProvider 向 master 注册并提供可从 some/all slaves 访问并可被 some/any task 使用的资源。
  2. 分配:一旦资源对 Mesos 可用,修改分配器以分配、提供和跟踪这些集群范围内资源的使用应该很容易。
  3. 资源隔离:一旦任务启动,我们需要每个奴隶能够执行分配给任务的资源限制,或者强制执行任务没有分配任何资源。这可以通过自定义隔离器模块来完成,也许由资源提供者打包(和分发?)。

正如Adam所说,Mesos中没有这种方式可以直接实现这个需求。但是,您可以通过在 ZooKeeper 之上编写自己的模块来实现此目的。

  1. 将您的中央资源元数据保存在 zookeeper 上。

  2. 您的框架调度程序可以访问此元数据以了解可用 中央资源,可以根据资源的可用性做出决定。

  3. 您的框架执行器也可以读取此信息以获取 现有中央资源数量的想法。