So realistically speaking you cannot have SolrCloud work for 2 data centers
as a redundant solution because no matter how many nodes you add you still
would need at least 1 node in the 2nd center working too.

So that just leaves with non-SolrCloud solutions.

"1) Change the replication config to redefine the master and reload the core
or restart Solr."

That of course is a simple way but the real issue is about the possible
issues and some good practices e.g. normally the scenario would be that
primary data center goes down for few hours and till then we upgrade one of
the slaves in secondary to a master. Now

- IF there is no lag there won't be any issue in secondary at least but
what if there is lag and one of the files is not completely replicated?
That file would be discarded or there is a possibility that whole index is
not usable?

- Once the primary comes back how would we now copy the delta from
secondary? Make it a slave of secondary first, replicate the delta and then
set it as a master again?

In other words is there a good guide out there for this with possible
issues and solutions? Definitely before SolrCloud people would be doing
this and even now SolrCloud doesn't seem practical in quite a few
situations.

Thanks again!!

On Tue, Sep 9, 2014 at 8:02 PM, Shawn Heisey <s...@elyograg.org> wrote:

> On 9/9/2014 8:46 AM, Salman Akram wrote:
> > You mean 3 'data centers' or 'nodes'? I am thinking if we have 2 nodes on
> > primary and 1 in secondary and we normally keep the secondary down would
> > that work? Basically secondary network is just for redundancy and won't
> be
> > as fast so normally we won't like to shift traffic there.
> >
> > So can we just have nodes for redundancy and NOT load balancing i.e. it
> has
> > 3 nodes but update is only on one of them? Similarly for the slave
> replicas
> > can we limit the searches to a certain slave or it will be auto balanced?
> >
> > Also apart from SOLR cloud is it possible to have multiple master in SOLR
> > or a good guide to upgrade a slave to master?
>
> You must have three zookeeper nodes for a redundant setup.  If you only
> have two data centers, then you must put at least two of those nodes in
> one data center.  If the data center with two zookeeper nodes goes down,
> zookeeper cannot function, which means SolrCloud will not work
> correctly.  There is no way to maintain SolrCloud redundancy with only
> two data centers.  You might think to add a fourth ZK node and split
> them between the data centers ... except that in that situation, at
> least three nodes must be functional.  Two out of four nodes is not enough.
>
> A minimal fault-tolerant SolrCloud install is three physical machines.
> Two of them run ZK and Solr, one of them runs ZK only.
>
> If you don't use SolrCloud, then you have two choices to switch masters:
>
> 1) Change the replication config to redefine the master and reload the
> core or restart Solr.
> 2) Write scripts that manually use the replication HTTP API to do all
> your replication, rather than let Solr handle it automatically.  You can
> choose the master for every replication with HTTP calls.
>
> https://wiki.apache.org/solr/SolrReplication#HTTP_API
>
> Thanks,
> Shawn
>
>


-- 
Regards,

Salman Akram

Reply via email to