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

finding active framework current resource usage in mesos

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

我们需要此信息,因为我们希望动态扩展 Mesos 集群,并且我们的算法需要有关每个活动框架正在使用哪些资源的信息。

我认为专注于框架并不是您真正想要的。您所追求的可能是 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 的汇总来计算总体资源使用情况。