1

我正在使用 Mesos 将一堆任务分配给不同的机器(mesos-slaves)。以下是发生的情况: 1. 我的调度程序获取资源提供并接受它。2. Mesos 在同一个 mesos-slaves 上暂存多个 executor(每个 slave 有 4 个 cpu) 3. 每个 slave 上只有一个 executor 进入 'Running' 状态,而其他的则显示为 'Staging' 状态。4.只有在当前执行器完成执行后,另一个执行器才开始运行。

鉴于我在每台机器上有 4 个 CPU,每个从站不应该同时运行 4 个执行器吗?每个执行器需要 1 个 CPU。

4

1 回答 1

0

您的任务是使用相同的 executor id 还是不同的 executor id?如果是前者,slave 只启动一个 executor,所有任务都发送给那个 executor。如果您的执行程序被设计为运行多个任务,您必须确保您没有阻塞在 launchTask() 回调中,例如,在从回调中返回之前在回调中运行实际任务。设计多任务执行器的一种方法是使用多线程或分叉/执行子进程。

于 2014-08-23T04:15:25.203 回答