Mesos 真的将您所有的资源视为一个池吗?

Does Mesos really treat all your resources as a single pool?

Mesos 被宣传为一个系统,让您可以针对您的数据中心进行编程,就像它是一个资源池(参见 Mesos Website)。但是真的不需要考虑各个机器的配置吗?使用 Mesos,您能否为一项任务请求比单台机器上可用的资源更多的资源?

例如,如果你有 10 台机器,每台机器有 2 个内核和 2g 内存和 20g 硬盘,你真的可以为单个任务请求 10 个内核、15g 内存和 100g 磁盘 space 吗?

根据这个Mesos architecture你不能聚合来自不同从属(代理/机器)的资源来将它们用于一个任务。

如您所见,存在严格的 "taks per agent" 情况

他们的例子也说得差不多

Let’s walk through the events in the figure.

Agent 1 reports to the master that it has 4 CPUs and 4 GB of memory free. The master then invokes the allocation policy module, which tells it that framework 1 should be offered all available resources. The master sends a resource offer describing what is available on agent 1 to framework 1. The framework’s scheduler replies to the master with information about two tasks to run on the agent, using <2 CPUs, 1 GB RAM> for the first task, and <1 CPUs, 2 GB RAM> for the second task. Finally, the master sends the tasks to the agent, which allocates appropriate resources to the framework’s executor, which in turn launches the two tasks (depicted with dotted-line borders in the figure). Because 1 CPU and 1 GB of RAM are still unallocated, the allocation module may now offer them to framework 2.