On 3/8/2016 3:40 PM, s influxdb wrote:
> How does the client failover to the DC2 if DC1 is down ? Does the services
> registered on DC1 for example with ephemeral nodes have to re-register
with
> DC2 ?

Even though Flavio and Camille have both said this, I'm not sure whether
the posters on this thread are hearing it:

If you only have two datacenters, you cannot set up a reliable zookeeper
ensemble.  It's simply not possible.  There are NO combinations of
servers that will achieve fault tolerance with only two datacenters.

The reason this won't work is the same reason that you cannot set up a
reliable ensemble with only two servers.  If either data center goes
down, half of your ZK nodes will be gone, and neither data center will
have enough nodes to achieve quorum.

When you have three datacenters that are all capable of directly
reaching each other, you only need one ZK node in each location.  If any
single DC goes down, the other two will be able to keep the ensemble
running.

Data is replicated among the DCs in exactly the same way that it is if
all the servers are in one place.  I don't know enough about internal ZK
operation to comment further.

=============

Some TL;DR information to follow:

If you want to be able to take a node down for maintenance in a multi-DC
situation and *still* survive an entire DC going down, you need three
nodes in each of three data centers -- nine total.  This ensemble is
able to survive any four servers going down, so you can take down a node
in one DC for maintenance, and if one of the other DCs fails entirely,
there will be five functioning servers that can maintain quorum.

Detailed information for the specific situation outlined by Kaushal:

DC-1 1 Leader 2 Followers
DC-2 1 Follower 2 Observers.

A six-node ensemble requires at least operational four nodes to maintain
quorum.  If either of those data centers fails, there are only three
nodes left, which is not enough.

Thanks,
Shawn

Reply via email to