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 是否能够为您跨机器寻址内存,并将其他 CPU 用作本地线程并从多个分布式节点创建单个文件系统?
- 它如何在不受到 Fallacies of distributed computing 影响的情况下实现这一目标,尤其是与网络延迟和传输成本相关的问题?
根据这个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.
Mesos 被宣传为一个系统,让您可以针对您的数据中心进行编程,就像它是一个资源池(参见 Mesos Website)。但是真的不需要考虑各个机器的配置吗?使用 Mesos,您能否为一项任务请求比单台机器上可用的资源更多的资源?
例如,如果你有 10 台机器,每台机器有 2 个内核和 2g 内存和 20g 硬盘,你真的可以为单个任务请求 10 个内核、15g 内存和 100g 磁盘 space 吗?
- 如果是这样,它是如何工作的? Mesos 是否能够为您跨机器寻址内存,并将其他 CPU 用作本地线程并从多个分布式节点创建单个文件系统?
- 它如何在不受到 Fallacies of distributed computing 影响的情况下实现这一目标,尤其是与网络延迟和传输成本相关的问题?
根据这个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.