You can do this. We only done preliminary testing with that configuration. You 
may need to increase the tickTime if the pipe between A and B has high 
latency and you start seeing timeouts.

There is a bit of a gotcha that you need to keep in mind. Currently clients 
select servers at random to connect to, so if you aren't careful your 
performance will actually start going down since two sevenths of the clients 
in A will connect to servers in B and five sevenths of the clients in B will 
connect to A. We haven't yet put latency awareness into the client code. So, 
the best thing to do would be to configure the clients in B to only connect 
to the servers in B and the clients in A to only connect to the servers in A. 
This will get you the performance that you are looking for, but it will mean 
that if both servers in B go down the clients will see ZooKeeper as 
unavailable even though the cluster is still running. I've opened an issue: to address this.


On Monday 16 June 2008 16:01:59 Avinash Lakshman wrote:
> How would you guys recommend we set up the Zookeeper cluster across data
> centers? We have a system that runs in a cluster spread across 2 data
> centers A and B and want to have it integrated with Zookeeper. So far we
> had Zookeeper cluster set up across a 5 node cluster in data center A. Is
> it ok to set up 2 nodes out of the current Zookeeper cluster in data center
> B so that the nodes in data center B may read from the local instances in
> data center B? What would you guys recommend?
> Please advice
> Avinash

Check out the new Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
Zookeeper-user mailing list

Reply via email to