zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Nauroth <cnaur...@hortonworks.com>
Subject Re: Meaning of quorum and ensemble
Date Fri, 29 May 2015 18:11:01 GMT
Hello Kaushal,

1. "Quorum" refers to the minimum number of nodes that must agree on a
transaction before it is considered committed.
2. Yes, your understanding of ceil(N/2) is correct.  It sounds like your
formulation of it is more like floor((N+1)/2).  The two formulations are
equivalent, so whichever one is more intuitive to you is valid.
3. "Ensemble" refers to the full set of peer servers in a ZooKeeper

Tying this back to your examples, a 3-node ensemble requires a quorum of 2
servers running to commit a transaction.  A 5-node ensemble requires a
quorum of 3 servers running to commit a transaction.  An administrator can
deploy a ZooKeeper cluster sized according to trade-offs between budget
(number of servers) and desired fault tolerance (number of simultaneous
server failures).  A more detailed discussion is available in the
ZooKeeper Internals document:


I hope this helps.

--Chris Nauroth

On 5/29/15, 10:08 AM, "Kaushal Shriyan" <kaushalshriyan@gmail.com> wrote:

>I have a question regarding quorum in context to
>Zookeeper requires that you have a quorum of servers up, where quorum is
>ceil(N/2). For a 3 server ensemble, that means 2 servers must be up at any
>time, for a 5 server ensemble, 3 servers need to be up at any time.
>   1. what does quorum mean?
>   2. so does ceil(N/2) mean 3+1/2 = 4/2 which is 2 servers in context to
>   server ensemble and 5+1/2 = 6/2 which is 3 servers in context to 5
>   ensemble if the ceil(N/2) is a ceiling function?
>   3. what does ensemble mean in context to Apache zookeeper?
>I would appreciate your help.

View raw message