上下文:
我实现了一个 Scheduler
在scala中基于mesos调度器接口。
所有的任务都安排得很好。
期望:
现在,我希望能够监视已完成任务所消耗的最大内存。
我希望在我的实现中执行此监视任务 Scheduler.statusUpdate()
方法,用于具有 TASK_FINISHED
州。
问题:
在这种方法中 SchedulerDriver
和一个 Protos.TaskStatus
提供。
那么,有没有一种方法可以从 SchedulerDriver
和一个 Protos.TaskStatus
?
2条答案
按热度按时间h4cxqtbf1#
mesos公开了任务统计信息
slave(1)/monitor/statistics
. 您需要在每个代理上刮取这个端点,并聚合响应以获得给定任务的最大值。jtoj6r0c2#
根据mesos代理配置的隔离类型,例如。
cgroups/*
或者,如果您正在使用docker容器化器,您可以考虑在代理主机上运行一个外部服务,为您收集和聚合内存和其他运行时统计信息。例如,您可以使用收集器守护进程(如cadvisor)来监视任务,然后将这些度量值传送到持久数据存储,在那里可以灵活地查询它们。