Mesos 任务使用比指定更多的资源
Mesos tasks use more resources than specified
我试图在具有 208 个内核的 Mesos 集群上启动一个具有 1000 个任务的框架。在调度程序中,我指定每个任务需要 2 个核心。但是有些任务刚刚失败并显示错误消息: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?
很可能,您已将 2 个 CPU 分配给 executor
,将 2 个 CPU 分配给 task
,因此总共有 4 个。
在 Mesos 中,每个 task
在 executor
下运行。当你不指定 executor
时,Mesos 使用一个非常轻量级的默认执行器,占用 0.01 CPU 和 32 MB 内存。
我试图在具有 208 个内核的 Mesos 集群上启动一个具有 1000 个任务的框架。在调度程序中,我指定每个任务需要 2 个核心。但是有些任务刚刚失败并显示错误消息:Task uses more resources cpus(*):4; mem(*):4096; disk(*):4096 than available cpus(*):2; mem(*):2048; disk(*):2048
。我还尝试动态监控集群上的资源使用情况。而且我注意到根据信息
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?
很可能,您已将 2 个 CPU 分配给 executor
,将 2 个 CPU 分配给 task
,因此总共有 4 个。
在 Mesos 中,每个 task
在 executor
下运行。当你不指定 executor
时,Mesos 使用一个非常轻量级的默认执行器,占用 0.01 CPU 和 32 MB 内存。