The supervisor will launch, kill and monitor worker processes. The monitoring is done through heartbeat files that the worker process writes out periodically and the supervisor reads in. The supervisor itself is expected to be run under supervision. This means that you need an external process that will restart the supervisor if it goes down for any reason. We use daemontools (http://en.wikipedia.org/wiki/Daemontools) but there are several other tools that work to do the same sort of thing.
As for the hieroglyphs http://clojure.org/cheatsheet might be an OK rosetta stone for you. - Bobby From: jeff saremi <jeffsar...@hotmail.com<mailto:jeffsar...@hotmail.com>> Reply-To: "user@storm.incubator.apache.org<mailto:user@storm.incubator.apache.org>" <user@storm.incubator.apache.org<mailto:user@storm.incubator.apache.org>> Date: Sunday, July 6, 2014 at 10:20 AM To: "d...@storm.incubator.apache.org<mailto:d...@storm.incubator.apache.org>" <d...@storm.incubator.apache.org<mailto:d...@storm.incubator.apache.org>>, "user@storm.incubator.apache.org<mailto:user@storm.incubator.apache.org>" <user@storm.incubator.apache.org<mailto:user@storm.incubator.apache.org>> Subject: The role of supervisor in Storm I posted another note earlier asking for hints and links on in-depth architecture documentation. I didn't get any responses. Which probably means I am the only one with this problem. So i'll just go ahead and ask specific questions: What is the role of the supervisor? I know that it starts and stops the worker processes. But does it monitor them? how? Who monitors the supervisor itself if it goes down? Launching something with "%java storm something" is referred to as launching the item (nimbus) under supervision. Can anything be launched like that? Is Supervisable an interface? or a protocol? I tried reading the supervisor's code but it looked like hieroglyphs to me. thanks Jeff