0

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

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

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

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

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

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

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

4

1 回答 1

2

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

对于现实生活中的设置,您肯定希望拥有不止一台机器,但如果您只对试验感兴趣,您不妨只在一台机器上运行所有东西(Mesos 主机、Mesos 从机和框架)。Mesos 入门指南Examples的部分演示了如何做到这一点。

于 2015-09-01T23:33:31.937 回答