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 cluster.
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: http://zookeeper.apache.org/doc/r3.4.6/zookeeperInternals.html I hope this helps. --Chris Nauroth On 5/29/15, 10:08 AM, "Kaushal Shriyan" <[email protected]> wrote: >Hi, > >I have a question regarding quorum in context to >http://stackoverflow.com/questions/13022244/zookeeper-reliability-three-ve >rsus-five-nodes > >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 >3 > server ensemble and 5+1/2 = 6/2 which is 3 servers in context to 5 >server > 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. > >Regards, > >Kaushal
