My experience with Katta has led me to believe that embedding a ZK in a
product is almost always a bad idea.

The problems are that you can't administer the Zookeeper cluster
independently and that the cluster typically goes down when the associated
service goes down.  The former is bad when you want to move the cluster
around or upgrade it.  The latter is bad when you decide that you want
external monitoring.

In Katta's case, there were also assumptions that crept into the code based
on the idea that the Zookeeper cluster would always go down when the Katta
cluster went down.  That led to a sloppiness in cleaning up that caused
serious grief when we ran on a separate cluster.  This isn't an inherent
property of an embedded Zookeeper cluster, but it is another reason that I
don't like that design.

On Tue, Nov 10, 2009 at 1:22 PM, Gustavo Niemeyer <>wrote:

> I wouldn't mind restarting the ensemble myself to add/remove nodes, but
> it's slightly more tricky if ZooKeeper is being provided as one of the
> pieces in some kind of platform.

Ted Dunning, CTO

Reply via email to