我正在使用Mesos将一堆任务分发给不同的机器(mesos-slaves)。 这是发生的事情: 1.我的调度程序获取资源并接受它。 2. Mesos在同一个mesos-slave上运行多个执行器(每个slave有4个cpus) 3.只有一个执行器在每个从站上进入“运行”状态,而其他执行器以“暂存”状态显示。 4.只有当前执行程序完成执行后,其他执行程序才会开始运行。
鉴于每台机器上有4个CPU,每个从机是不是应该同时运行4个执行器?每个执行程序需要1个CPU。
答案 0 :(得分:0)
您的任务是否使用相同的执行者ID或不同的执行者ID?如果是前者,则只有一个执行程序由从属程序启动,并且所有任务都将发送给该一个执行程序。如果您的执行程序旨在运行多个任务,则必须确保在launchTask()回调中不阻塞,例如,通过在回调之前运行回调中的实际任务。设计多任务执行程序的一种方法是使用多线程或fork / execing子进程。