【问题标题】:Should I be using a distributed system like Mesos?我应该使用像 Mesos 这样的分布式系统吗?
【发布时间】:2015-11-27 07:25:13
【问题描述】:

我有一个项目,简要如下:创建一个可以接受用 Java 编写的任务的应用程序,这些任务执行某种计算并在多台机器上运行任务*(任务是独立的,彼此不依赖) .

*机器可能运行不同的操作系统(主要是 Windows 和 Ubuntu)

我的问题是,我应该为此使用像 Apache Mesos 这样的分布式系统吗?

我首先研究的是 Java P2P 库/框架,而我唯一能找到的是已被 Oracle 放弃的 JXTA (https://jxta.kenai.com/)。 然后我研究了 Apache Mesos (http://mesos.apache.org/),它在我看来很合适,一个可以在多台机器上运行的底层系统,允许它在处理任务时共享资源。我花了一点时间试图让它在本地运行作为一个例子,但它似乎有点复杂并且需要很长时间才能开始工作。

如果我应该使用 Mesos,我是否必须为我的项目开发一个框架来处理我所有的 java 任务,或者是否有现有的解决方案?

要在本地进行小规模测试,您是否会将其安装在您的机器上,将其设置为主机,创建一个 VM,将其安装在该机器上并使其成为从机,以某种方式将您的从机路由到该主机?文档和示例没有显示如何将网络上的从站准确连接到主站。

在此先感谢,任何帮助或建议将不胜感激。

【问题讨论】:

  • 你的用例匹配传统的grid computing吗?
  • @marbu 我快速浏览了一下,但还没有考虑任何解决方案。明天我会看看它,快速谷歌搜索已经抛出了jppf.org,看起来很有希望。
  • 也许吧?类似于 Mesos 的所有主要替代品似乎都在docs.deis.io/en/latest/customizing_deis/choosing-a-scheduler 处进行了一些描述(虽然不知道该网站的产品是什么),但是所有这些系统的设置都很复杂,还不能解决您的问题。这更适用于操作大规模部署,而不是真正专门用于计算任务。
  • 看看 Akka。与使用 Mesos 相比,您可以轻松构建您提议的系统,而且开销更少(Mesos 没什么问题,只是可能有点矫枉过正)。

标签: java p2p distributed-computing mesos jxta


【解决方案1】:

您绝对可以将 Mesos 用于您所描述的任务。您不需要从头开始开发框架,相反,您可以使用像 Marathon 这样的调度程序,以防您有长时间运行的任务,或者使用 Chronos 处理一次性或重复性任务。

对于现实生活中的设置,您肯定希望拥有多台机器,但如果您只对一台机器感兴趣,不妨只在一台机器上运行所有内容(Mesos 主机、Mesos 从机和框架)在实验中。 Mesos Getting Started GuideExamples 部分演示了如何做到这一点。

【讨论】:

  • 补充一点:Mesos 中的 Windows 支持是 WIP。但是为什么它对 JAVA 任务很重要呢?
  • @rukletsov 没关系,但我想我会在问题中指出这一点,以确保。
  • @hartem 感谢您提供的信息!我已经查看了 Mesos 入门指南,目前我正在尝试让 Mesos 在两台机器上运行,一台是从机,一台是主机,实际上并没有很好地解释文档。
  • Actaully @rukletsov 确实很重要,因为据我所知,您实际上无法在标准 Windows 操作系统上运行 Mesos,它必须是 Windows Server 和我将要使用的大多数机器使用将运行标准的 Windows 操作系统(例如 Windows 7)。
  • 好吧,那么,不幸的是,您可能应该等待或帮助我们进行更改。目前 Mesos 主要存在于 *nix 世界中。
猜你喜欢
  • 1970-01-01
  • 2015-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-19
  • 1970-01-01
  • 2011-10-07
相关资源
最近更新 更多