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

Reply via email to