Yes, Zookeeper is running in our application (Cassandra is as well, in
the same JVM). We do this because we're building a product that will be
deployed by customers with little to no distributed systems admin
experience, and we only want them to have to manage a single process.
We have not yet seen the need for knowing about the status of a
particular application node independent of that node's Zookeeper status.
On 04/12/2011 01:12 PM, Ted Dunning wrote:
Does this mean that you are running ZK in your application?
My own feeling is that this is a bad practice. It shouldn't cause
your problem, but it is hard to make guarantees about totally correct
operation in an arbitrarily shared JVM.
In my own designs, I avoid collocating ZK with my application because
I like to interrogate ZK about application status and "down" is a
valid status which I would like to know about. I can't see that in ZK
if it doesn't survive the demise of the application.
On Tue, Apr 12, 2011 at 12:33 PM, Jeremy Stribling <[email protected]
<mailto:[email protected]>> wrote:
* We manage node membership dynamically, and our application
restarts the ZooKeeperServer classes whenever a new node wants to
join (without restarting the entire application process). This is
why you'll see messages like the following in node1.0x4-0x5.log
before a new election begins:
2011-04-11 21:16:00,762 4804 [QuorumPeer:/0.0.0.0:2888
<http://0.0.0.0:2888>] INFO
org.apache.zookeeper.server.quorum.Learner - shutdown called