mesos框架

rvpgvaaj  于 2021-06-21  发布在  Mesos
关注(0)|答案(3)|浏览(469)

我想使用java在集群上分发docker容器并定义依赖项,这样当一个容器完成时,我就可以在java代码中解析生成的输出。有许多Mesos框架可以实现这一点,我不知道采取哪一个:马拉松,奇点,计时,极光。
我学到的是:
marathon有一个非常好的java客户机api,但是用于长期任务(不知道这是否是个问题,因为我的任务不会运行那么长时间),我认为我不能定义这种依赖关系。如果我要使用马拉松我将不得不投票的应用程序的状态。chronos没有JavaAPI(至少我找不到)。所以我可以在极光和奇点之间做出选择。
有谁能帮我推荐一个用于我的用例。

6yjfywim

6yjfywim1#

chronos(如marathon)是用scala编写的,因此应该很容易与任何基于jvm的应用程序集成。更好的是,它们都有restapi(可能实际上都有4个),所以不管每个应用程序/服务的实现语言如何,您都可以 curl 您的操作/查询。
对于您的用例,您可能更喜欢chronos而不是marathon,因为您希望您的任务能够完成(而不是重新启动)。马拉松适合长跑(马拉松,跑步。。因此它将重新启动失败/已完成的任务。chronos就像一个具有依赖关系的分布式cron,因此您可以安排作业,然后添加依赖作业以在以前的作业完成后启动,从而构建任意的作业dag。
我会让其他人插嘴关于极光和奇点。我认为他们都支持类似cron的工作。

0pizxfdo

0pizxfdo2#

克洛诺斯是个不错的选择。您可以在chronos中创建依赖关系DAG。但是,它不提供将参数从一个作业传递到另一个作业的机制。您必须序列化和反序列化集群中的db或共享存储中的内容。

uoifb46i

uoifb46i3#

apacheaurora在2月份的0.7.0版本中添加了docker支持,并且可以使用同一个调度器管理长时间运行的服务和cron。它也是用java编写的。
贡献这个特性的开发人员发表了一篇很好的技术演讲,讲述了他们如何使用aurora调度docker容器。尽管本文中提供的示例是针对长时间运行的服务的,但是只需对作业配置进行一个小的更改,即可指定服务与cron。

相关问题