在mesos中查找活动框架当前资源使用情况

时间:2016-03-03 07:11:16

标签: mesos mesosphere

哪个 HTTP端点将帮助我找到所有活动框架的当前资源利用率?

我们想要这些信息,因为我们想要动态扩展Mesos集群,我们的算法需要有关每个活动框架使用的资源的信息。

1 个答案:

答案 0 :(得分:1)

我认为专注于框架并不是你真正想要的。您所追求的可能是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的摘要。