我试图在一个包含208个核心的Mesos集群上启动一个包含1000个任务的框架。在调度器中,我指定每个任务需要两个核心。但是一些任务失败了,错误消息是:Task uses more resources cpus(*):4; mem(*):4096; disk(*):4096 than available cpus(*):2; mem(*):2048; disk(*):2048。我还试图动态监视集群上的资源使用情况。我注意到每个任务实际上消耗了4个基于信息的核心
2016/11/02 02:25:10.073 mesos_scheduler INFO 208.0 cpu 98.0 used, 807768.0 memory 100352.0 used, 44052112.0 disk 100352.0 used, 24.0 active tasks
2016/11/02 02:25:10.574 mesos_scheduler INFO 208.0 cpu 96.0 used, 807768.0 memory 98304.0 used, 44052112.0 disk 98304.0 used, 24.0 active tasks
2016/11/02 02:25:15.301 mesos_scheduler INFO 208.0 cpu 94.0 used, 807768.0 memory 96256.0 used, 44052112.0 disk 96256.0 used, 23.0 active tasks
2016/11/02 02:25:15.803 mesos_scheduler INFO 208.0 cpu 92.0 used, 807768.0 memory 94208.0 used, 44052112.0 disk 94208.0 used, 23.0 active tasks
2016/11/02 02:25:16.728 mesos_scheduler INFO 208.0 cpu 90.0 used, 807768.0 memory 92160.0 used, 44052112.0 disk 92160.0 used, 22.0 active tasks
2016/11/02 02:25:17.229 mesos_scheduler INFO 208.0 cpu 88.0 used, 807768.0 memory 90112.0 used, 44052112.0 disk 90112.0 used, 22.0 active tasks我为指定核数而编写的代码如下所示
cpus = executor.resources.add()
cpus.name = "cpus"
cpus.type = mesos_pb2.Value.SCALAR
cpus.scalar.value =2我是否正确地使用了api?
发布于 2016-11-14 19:00:01
最有可能的是,您为executor分配了2个CPU,向task分配了2个CPU,总共有4个CPU。
在Mesos中,每个task都运行在一个executor下。当您不指定executor时,Mesos使用一个占用0.01CPU和32 MB内存的非常轻的默认执行器。
https://stackoverflow.com/questions/40388462
复制相似问题