Should I be using a distributed system like Mesos?

时间:2015-09-01 22:51:32

标签: java p2p distributed-computing mesos jxta

I have a project which briefly is as follows: Create an application that can accept tasks written in Java that perform some kind of computation and run the tasks on multiple machines* (the tasks are separate and have no dependency on one another).

*the machines could be running different OSs (mainly Windows and Ubuntu)

My question is, should I be using a distributed system like Apache Mesos for this?

The first thing I looked into was Java P2P libraries/ frameworks and the only one I could find was JXTA (https://jxta.kenai.com/) which has been abandoned by Oracle. Then I looked into Apache Mesos (http://mesos.apache.org/) which seems to me like a good fit, an underlying system that can run on multiple machines that allows it to share resources while processing tasks. I have spent a little while trying to get it running locally as an example however it seems slightly complicated and takes forever to get working.

If I should use Mesos, would I then have to develop a Framework for my project that takes all of my java tasks or are there existing solutions out there?

To test it on a small scale locally would you install it on your machine, set that to a master, create a VM, install it on that and make that a slave, somehow routing your slave to that master? The documentation and examples don't show how to exactly hook up a slave on the network to a master.

Thanks in advance, any help or suggestions would be appreciated.

1 个答案:

答案 0 :(得分:2)

您绝对可以将Mesos用于您所描述的任务。您不需要从头开始构建框架,而是可以使用Marathon之类的调度程序(如果您有长时间运行的任务),或Chronos用于一次性或重复性任务。

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