Mesos:什么是操作系统级别的资源分配技术



我对Mesos体系结构有很高的理解,但我不清楚用于实现资源分配的操作系统级技术。例如,Mesos提供了一个框架1 CPU和400MB内存,以及另一个框架2 CPU和1GB内存,这实际上是如何在操作系统级别实现的?

tl;dr:Mesos本身不会在操作系统级别"分配"任何资源。资源仍然由操作系统分配,尽管Mesos可以使用像cgroups这样的操作系统级原语来确保任务不会使用超出应有的资源。

  1. 节点上的Mesos代理通过自动检测主机上的可用资源,或者因为已明确配置了可用资源(建议用于生产(,来宣传主机上有一些资源可用(例如,4个CPU和16GB RAM(
  2. 然后,master将这些资源提供给一个框架
  3. 然后,该框架可以使用代理处可用的部分或全部资源来启动任务:例如,该框架可能启动一个具有2个CPU和8GB RAM的任务
  4. 然后,代理启动一个执行器来运行任务。
    • "2个CPU和8GB RAM"资源限制的执行程度取决于Mesos的配置方式。例如,如果代理主机支持cgroups,并且代理是用--isolation='cgroups/cpu,cgroups/mem'启动的,则cgroups将用于适当地限制CPU,并在任务试图超出其内存分配时终止任务

最新更新