Thanks, Pushkar, Make sense.  Trying to understand the difference between
your setup vs Jan's proposed setup.

- Seems like when DC1 goes down, in your setup we have to bounce *one* from
observer to non-observer while in Jan's setup *two* observers to
non-observers.  Anything else I am missing

- When DC1 comes back -  with your setup we need to bounce the one
non-observer to observer to have 5 nodes quorum otherwise there are 3 + 3
observers while with Jan's setup if we don't take any action when DC1 comes
back, we are still operational with 5 nodes quorum.  Isn't it?  Or I am
missing something.



On Fri, May 26, 2017 at 10:07 AM, Pushkar Raste <pushkar.ra...@gmail.com>
wrote:

> Damn,
> Math is hard
>
> DC1 : 3 non observers
> DC2 : 2 non observers
>
> 3 + 2 = 5 non observers
>
> Observers don't participate in voting = non observers participate in voting
>
> 5 non observers = 5 votes
>
> In addition to the 2 non observer, DC2 also has an observer, which as you
> pointed out does not participate in the voting.
>
> We still have 5 voting nodes.
>
>
> Think of the observer as a standby name node in Hadoop 1.x, where some
> intervention needed if the primary name node went down.
>
>
> I hope my math makes sense
>
> On May 26, 2017 9:04 AM, "Susheel Kumar" <susheel2...@gmail.com> wrote:
>
> From ZK documentation, observers do not participate in vote,  so Pushkar,
> when you said 5 nodes participate in voting, what exactly you mean?
>
> -- Observers are non-voting members of an ensemble which only hear the
> results of votes, not the agreement protocol that leads up to them.
>
> Per ZK documentation, 3.4 includes observers,  does that mean Jan thought
> experiment is practically possible, correct?
>
>
> On Fri, May 26, 2017 at 3:53 AM, Rick Leir <rl...@leirtech.com> wrote:
>
> > Jan, Shawn, Susheel
> >
> > First steps first. First, let's do a fault-tolerant cluster, then maybe a
> > _geographically_ fault-tolerant cluster.
> >
> > Add another server in either DC1 or DC2, in a separate rack, with
> > independent power etc. As Shawn says below, install the third ZK there.
> You
> > would satisfy most of your requirements that way.
> >
> > cheers -- Rick
> >
> >
> > On 2017-05-23 12:56 PM, Shawn Heisey wrote:
> >
> >> On 5/23/2017 10:12 AM, Susheel Kumar wrote:
> >>
> >>> Hi Jan, FYI - Since last year, I have been running a Solr 6.0 cluster
> in
> >>> one of lower env with 6 shards/replica in dc1 & 6 shard/replica in dc2
> >>> (each shard replicated cross data center) with 3 ZK in dc1 and 2 ZK in
> dc2.
> >>> (I didn't have the availability of 3rd data center for ZK so went with
> only
> >>> 2 data center with above configuration) and so far no issues. Its been
> >>> running fine, indexing, replicating data, serving queries etc. So in my
> >>> test, setting up single cluster across two zones/data center works
> without
> >>> any issue when there is no or very minimal latency (in my case around
> 30ms
> >>> one way
> >>>
> >>
> >> With that setup, if dc2 goes down, you're all good, but if dc1 goes
> down,
> >> you're not.
> >>
> >> There aren't enough ZK servers in dc2 to maintain quorum when dc1 is
> >> unreachable, and SolrCloud is going to go read-only.  Queries would most
> >> likely work, but you would not be able to change the indexes at all.
> >>
> >> ZooKeeper with N total servers requires int((N/2)+1) servers to be
> >> operational to maintain quorum.  This means that with five total
> servers,
> >> three must be operational and able to talk to each other, or ZK cannot
> >> guarantee that there is no split-brain, so quorum is lost.
> >>
> >> ZK in two data centers will never be fully fault-tolerant. There is no
> >> combination of servers that will work properly.  You must have three
> data
> >> centers for a geographically fault-tolerant cluster.  Solr would be
> >> optional in the third data center.  ZK must be installed in all three.
> >>
> >> Thanks,
> >> Shawn
> >>
> >>
> >
>

Reply via email to