I have a cluster of 32 servers and I need a tool to distribute a Java service, packaged as a Jar file, to each machine and remotely start the service. The cluster consists of Linux (Suse 10) servers with 8 cores per blade. The application is a data grid which uses Oracle Coherence. What is the best tool for doing this?
5 Answers
I asked something similar once, and it seems that the Java Parallel Processing Framework might be what you need:
From the web site:
JPPF is an open source Grid Computing platform written in Java that makes it easy to run applications in parallel, and speed up their execution by orders of magnitude. Write once, deploy once, execute everywhere!

- 1
- 1

- 18,670
- 17
- 71
- 81
-
I found the link to JPPF really useful – george_h Jul 02 '12 at 09:00
Have a look at OpenMOLE: http://www.openmole.org/
This tool enables you to distribute a computing workflow to several resources: from multicores machines, to clusters and computing grids.
It is nicely documented and can be controlled through groovy code or a GUI.
Distributing a jar on a cluster should be very easy to do with OpenMOLE.

- 5,721
- 4
- 31
- 50
Use Bit Torrent. Using Peer to Peer sharing style on clusters can really boost up your deployment speed.

- 9,183
- 8
- 45
- 70
Is your service packaged as an EJB? JBoss does a fairly good job with clustering.

- 88,451
- 51
- 221
- 321
It depends on which operating system you have and how security is setup on your network.
If you can use NFS or Windows Share, I suggest you put the software on an NFS drive which is visible to all machines. That way you can run them all from one copy.
If you have remote shell or secure remote shell you can write a script which runs the same command on each machine e.g. start on all machines, or stop on all machines.
If you have windows you might want to setup a service on each machine. If you have linux you might want to add a startup/shutdown script to each machine.
When you have a number of machines, it may be useful to have a tool which monitors that all your services are running, collects the logs and errors in one place and/or allows you to start/stop them from a GUI. There are a number of tools to do this, not sure which is the best these days.

- 525,659
- 79
- 751
- 1,130