Hi Vijay, It might not have been clear in my previous message, but I
was suggesting that with three locations you can tolerate one DC going
down, assuming you have votes across locations. We have performed some
preliminary tests some time ago with ZooKeeper servers across
different locations, and it looked good. Perhaps we should think about
running a more extensive set of tests and making them available for
Just in case you're interested, here is perhaps an interesting example
of how you can tolerate one location going down with three locations.
For each location, create a group of three ZooKeeper servers. In this
setting, we need only two votes from a remote location, independent of
where the leader is. For example, consider the following groups and
servers in each group:
Group 1: A B C
Group 2: D E F
Group 3: G H I
If the leader is A, then it needs to collect votes only from two
servers in group 1, say A and B, and two votes from some other
location, say D and E in group 2 (corresponding to location 2). To
make it work, all you have to do is create groups in ZooKeeper, which
enables the hierarchical quorum feature.
This example is interesting because it enables the system to mask one
server crashing in each group/location and a whole location going
down, and requires one fewer vote compared to absolute majority, which
would be five servers given that we have nine total.
Hope it is useful.
On Jan 14, 2010, at 11:00 PM, Vijay wrote:
Yes i am concerned about the latency between the DC's (Across
We actually have 6 locations but how exactly are we going to do it
have the 3rd DC?
On Thu, Jan 14, 2010 at 1:46 PM, Flavio Junqueira <f...@yahoo-
Hi Vijay, I'm just curious: why exactly you want all voting nodes
single data center? Are you concerned about latency?
It might not be possible in your case, but if you have a third
available, you would be able to tolerate one location going down.
On Jan 14, 2010, at 9:12 PM, Vijay wrote:
I read about observers in other datacenter,
My question is i dont want voting across the datacenters (So i
observers), at the same time when a DC goes down i dont want to
cluster, whats the solution for it?
I have to have 3 nodes in primary DC to accept 1 node failure. Thats
but what about the other DC? how many nodes and how will i make it