I am writing a distributed system in which jobs (processes) will be run on multiple nodes (LINUX machines).
I want to be able to launch job on these machines, terminate a job (kill), monitor what is running on each machine.
I am looking for a framework (preferably in Java) which I can use to implement this solution.
I have looked at using the underlying components that frameworks like Hadoop or Akka use but have not come up with anything satisfactory.
A few additional constraints on what I'm looking for:
- It should have reasonable proliferation into production grade projects
- It should allow me to launch UNIX processes written in arbitrary languages
- It should be open source
- It should be lightweight -- An answerer has suggested I look at agent based frameworks -- though these satisfy the requirements I've posted -- I've found them to be very heavy weight. I'm looking for something that really fulfills the stated requirements and does not require me to adopt a more comprehensive methodology.
Thanks.