首页
学习
活动
专区
圈层
工具
发布

Mesos框架
EN

Stack Overflow用户
提问于 2015-02-11 23:46:44
回答 3查看 1K关注 0票数 1

我想使用java在集群上分发Docker容器,并定义依赖关系,这样当一个容器完成时,我就可以在java代码中解析生成的输出。有许多mesos框架可以实现这一点,但我不确定该采用哪一个: Marathon,Singularity,Chronos,Aurora。

到目前为止,我学到的是:

Marathon有一个非常好的java客户端api,但是用于长期任务(不知道这是不是一个问题,因为我的任务不会运行那么长时间),我不认为我可以定义这种依赖。如果我要使用马拉松,我将不得不轮询应用程序的状态。Chronos没有java api (至少我找不到)。所以我可以在极光和奇点之间选择。

有没有人能帮我推荐其中的一个给我用。

EN

回答 3

Stack Overflow用户

发布于 2015-02-12 20:14:27

Chronos (像马拉松一样)是用Scala编写的,所以它应该很容易与任何基于JVM的应用程序集成。更好的是,它们(实际上可能都是4个)都有REST app,所以您可以只需卷曲您的操作/查询,而无需考虑每个应用程序/服务的实现语言。

对于您的用例,您可能更喜欢Chronos而不是Marathon,因为您希望任务完成(而不是重新启动)。马拉松是为长跑而设计的(马拉松,跑步..明白了吗?)任务,因此它将重新启动失败/完成的任务。Chronos类似于具有依赖关系的分布式cron,因此您可以调度作业,然后添加依赖作业,以便在以前的作业完成后启动,从而构建任意的作业DAG。

我会让其他人加入到有关极光和奇点的讨论中。我认为它们都支持类似cron的工作。

票数 5
EN

Stack Overflow用户

发布于 2015-05-31 09:22:00

Apache AuroraFebruary's 0.7.0 release中添加了Docker支持,并且可以使用相同的调度程序管理长时间运行的服务和cron。它也是用Java编写的。

贡献这个特性的开发者有一个关于how they schedule Docker containers using Aurora的很棒的技术演讲。尽管talk中提供的示例是针对长时间运行的服务的,但您的作业配置只需稍作更改即可指定服务与cron。

票数 1
EN

Stack Overflow用户

发布于 2015-02-12 20:24:44

对于这一点,Chronos是很好的。您可以在Chronos中创建依赖DAG。但是,它没有为您提供将参数从一个作业传递到另一个作业的机制。您必须序列化和反序列化整个集群中的DB或共享存储中的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28458504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档