发布于 2015-12-05 11:02:20 | 651 次阅读 | 评论: 0 | 来源: 网络整理
Mesos 0.23.0 针对 Mesos fetcher cache 做出了实验性的支持。
在这方便,我们简单地将“下载”视为从本地文件系统进行拷贝。
Mesos fetcher 是一个将资源下载到用于运行任务的沙盒目录的机制。最为 TaskInfo 消息的一部分,用于整理任务执行的框架提供了,CommandInfo::URI protobuf 值的列表,并决定哪个将作为 Mesos fetcher 的输入。
默认情况下,每个要求的 URI 直接下载到沙盒目录中。另外,fetcher 还可以指导缓存 URI 在指定的目录里下载。
Mesos fetcher 机制包括以下两个部分:
框 架启动任务通过调用调度驱动程序的方法 launchTasks(),传递 CommandInfo 的 protobuf 的结构作为参数。 这种类型结构所指定了一个命令和需要被“fetcher”到子节点沙盒目录的 URI 列表。因此,当子节点接到一个启动任务的指令后,它会调用 fetcher,提供指定的资源投入到沙盒目录中。如果 fetch 失败了,任务不会启动并且报告的任务状态会是 TASK_FAILED。
All URIs requested for a given task are fetched sequentially in a single invocation of mesos-fetcher. Here, avoiding download concurrency reduces the risk of bandwidth issues somewhat. However, multiple fetch operations can be active concurrently due to multiple task launch requests.