【发布时间】:2016-03-03 07:11:16
【问题描述】:
哪个HTTP 端点 将帮助我找到所有活动框架的当前资源利用率?
我们需要这些信息,因为我们想要动态扩展 Mesos 集群,而我们的算法需要有关每个活动框架正在使用哪些资源的信息。
【问题讨论】:
标签: mesos mesosphere
哪个HTTP 端点 将帮助我找到所有活动框架的当前资源利用率?
我们需要这些信息,因为我们想要动态扩展 Mesos 集群,而我们的算法需要有关每个活动框架正在使用哪些资源的信息。
【问题讨论】:
标签: mesos mesosphere
我认为专注于框架并不是您真正想要的。你所追求的可能是 Mesos Slave 利用率,可以通过调用来请求
http://{mesos-master}:5050/master/state-summary
在 JSON 答案中,您会找到一个包含从属对象数组的 slaves 属性:
{
"hostname": "192.168.0.3",
"cluster": "mesos-hw-cluster",
"slaves": [{
"id": "bd9c29d7-8530-4c5b-8c50-5d2f60dffbf6-S2",
"pid": "slave(1)@192.168.0.1:5051",
"hostname": "192.168.0.1",
"registered_time": 1456826950.99075,
"resources": {
"cpus": 12.0,
"disk": 1840852.0,
"mem": 63304.0,
"ports": "[31000-32000]"
},
"used_resources": {
"cpus": 5.75,
"disk": 0.0,
"mem": 14376.0,
"ports": "[31000-31000, 31109-31109, 31267-31267, 31699-31699, 31717-31717, 31907-31907, 31979-31980]"
},
"offered_resources": {
"cpus": 0.0,
"disk": 0.0,
"mem": 0.0
},
"reserved_resources": {},
"unreserved_resources": {
"cpus": 12.0,
"disk": 1840852.0,
"mem": 63304.0,
"ports": "[31000-32000]"
},
"attributes": {},
"active": true,
"version": "0.27.1",
"TASK_STAGING": 0,
"TASK_STARTING": 0,
"TASK_RUNNING": 7,
"TASK_FINISHED": 18,
"TASK_KILLED": 27,
"TASK_FAILED": 3,
"TASK_LOST": 0,
"TASK_ERROR": 0,
"framework_ids": ["bd9c29d7-8530-4c5b-8c50-5d2f60dffbf6-0000", "bd9c29d7-8530-4c5b-8c50-5d2f60dffbf6-0002"]
},
...
}
您可以遍历所有从属对象并通过汇总 resources 然后减去 used_resources 的摘要来计算总体资源使用情况。
见
【讨论】:
top,你实际看到的不一定是你在slave的used_resources中看到的。恕我直言,Spark 获取了所有可用的内存和内核,并不一定意味着操作系统利用率为 100%。尽管如此,从 Mesos 的角度来看,Spark 任务占用的资源才是最重要的......