Another option is to design for partition by putting a ZK in each datacenter. There are a variety of ways to detect partition so that each datacenter can function, but also know if there is a partition happening. It is often true that useful things can be done even in the case of partition.
On Fri, Feb 3, 2012 at 2:05 PM, Benjamin Reed <br...@apache.org> wrote: > what do you want to happen if both datacenters are up, but there is a > partition so that they cannot communicate with each other? answering > that question may get you closer to an answer. > > i think your two main options are to: > > 1) designate a data center that you require to be up for things to > work. then you can put two in that one and one in the other > 2) otherwise you need to setup a machine in another datacenter or > amazon instance or something that will in effect decide which data > center can run if one of the datacenters goes down or you are in the > partition scenario above. > > ben > > On Fri, Feb 3, 2012 at 1:01 PM, Jason Harmon <jh0...@att.com> wrote: > > We are planning a ZooKeeper deployment, but are struggling with some > aspects of our current architecture. We have two data centers; most > applications use load balancing between the two data centers to ensure > redundancy for disaster recovery etc. ZooKeeper has been challenging for > us, because we can't quite figure out how to structure our servers. We > aren't starting with lots of clients, so 3 servers should be a good fit > initially. However, if we put two servers in one datacenter, and one server > in the other, we're setup for a quorum failure if we have a power outage at > the datacenter with two boxes. > > Short of setting up a third data center for our division, what options > do we have for deploying ZooKeeper effectively, with disaster recovery in > mind etc. > > Thanks! > > > > Jason Harmon > > Senior Software Architect > > >