【问题标题】:Is there a way to get the max memory used by a task in mesos?有没有办法获得 mesos 中任务使用的最大内存?
【发布时间】:2017-09-07 10:28:51
【问题描述】:

上下文:

我基于Mesos Scheduler Interface在Scala中实现了Scheduler

所有任务都被完美编排。

期望:

现在,我希望能够监控已完成任务消耗的最大内存。

我希望在我的 Scheduler.statusUpdate() 方法的实现中执行这个监控任务,对于每个具有 TASK_FINISHED 状态的任务。

问题:

在此方法中,提供了SchedulerDriverProtos.TaskStatus

那么,有没有办法从SchedulerDriverProtos.TaskStatus 中检索相应任务使用的最大内存?

【问题讨论】:

    标签: scala mesos


    【解决方案1】:

    Mesos 在slave(1)/monitor/statistics 中公开有关任务统计的信息。您需要在每个代理上抓取此端点并聚合响应以获得给定任务的最大值。

    【讨论】:

      【解决方案2】:

      取决于您的 Mesos 代理配置的隔离类型,例如cgroups/* 或者如果您使用 Docker 容器化程序,您可以考虑在您的代理主机上运行一个外部服务,为您收集和汇总内存和其他运行时统计信息。例如,您可以使用诸如cadvisor 之类的收集器守护程序来监控您的任务,然后将这些指标ship 保存到一个持久数据存储中,以便以灵活的方式对其进行查询。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-20
        • 2020-02-24
        • 2011-06-02
        • 2011-05-23
        • 1970-01-01
        • 2012-10-30
        • 1970-01-01
        • 2020-10-30
        相关资源
        最近更新 更多