views:

376

answers:

3

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?

+1  A: 

I asked something similar once, and it seems that the Java Parallel Processing Framework might be what you need:

http://www.jppf.org/

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!

Mario Ortegón
A: 

Is your service packaged as an EJB? JBoss does a fairly good job with clustering.

Uri
A: 

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.

Peter Lawrey