我有一个项目,简要地说如下:创建一个应用程序,可以接受用java编写的任务,这些任务执行某种计算,并在多台机器上运行这些任务*(这些任务是独立的,彼此之间没有依赖关系)。
- 这些机器可能运行不同的操作系统(主要是windows和ubuntu)
我的问题是,我应该使用像apachemesos这样的分布式系统吗?
我首先研究的是javap2p库/框架,我能找到的只有jxta(https://jxta.kenai.com/)被甲骨文抛弃了。然后我调查了Apache·梅索斯(http://mesos.apache.org/)在我看来,这是一个很好的契合点,一个可以在多台机器上运行的底层系统,允许它在处理任务时共享资源。我花了一点时间试图让它在本地运行作为一个例子,但它似乎有点复杂,需要永远才能开始工作。
如果我应该使用mesos,那么我是否需要为我的项目开发一个框架来完成我所有的java任务,或者是否有现有的解决方案?
为了在本地进行小规模的测试,你会把它安装在你的机器上,把它设置成一个主机,创建一个虚拟机,把它安装在那个主机上,然后把它变成一个从机,把你的从机路由到那个主机吗?这些文档和示例并没有说明如何将网络上的从机连接到主机。
事先谢谢,任何帮助或建议将不胜感激。
1条答案
按热度按时间7fyelxc51#
对于您描述的任务,您完全可以使用mesos。您不需要从头开始开发框架,相反,您可以使用类似marathon的调度器来处理长时间运行的任务,或者使用chronos来处理一次性或周期性任务。
对于现实生活中的设置,您肯定希望有多台机器,但是如果您只对实验感兴趣,您也可以在一台机器上运行所有的东西(mesos master、mesos slave和框架)。
Examples
mesos入门指南的一节演示了如何做到这一点。