lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shawn Heisey <apa...@elyograg.org>
Subject Re: Solrcloud with Master/Slave
Date Fri, 05 Jan 2018 15:57:36 GMT
On 1/4/2018 9:01 AM, Sundaram, Dinesh wrote:
> Thanks Shawn for your prompt response. Assume I have solrcloud A server with 1 node runs
on 8983 port and solrcloud B server with 1 node runs on 8983, here I want to synch up the
collection between solrcloud A and B using the below replication handler. Is this advisable
to use at the solrcloud B ?
>
> <requestHandler name="/replication" class="solr.ReplicationHandler" >
>     <lst name="slave">
>         <str name="masterUrl">http://solrcloudA:8983/solr/${solr.core.name}/replication</str>
>         <str name="pollInterval">00:00:20</str>
>     </lst>
> </requestHandler>

One of the things I said in my last reply, at the beginning of a
paragraph so it should have been quite prominent, was "you can't mix
master-slave replication and SolrCloud."  What part of that was not clear?

You need to be running standalone mode (not cloud) if you want to use
master-slave replication.

When things are set up correctly, SolrCloud will automatically keep
multiple replicas in sync, and copy the index to new replicas when they
are created.  There is no need to manage it with replication config. 
For replicating from one SolrCloud cluster to another, there is CDCR as
Erick described.

Another thing Erick mentioned:  What you actually have when you start
Solr the way you did is two completely independent SolrCloud clusters,
each of which only has one Solr server.  Each solr instance is running a
zookeeper server embedded within it.  There is no redundancy or fault
tolerance of any kind.

If you want to run a fault-tolerant SolrCloud, you will need three
separate servers.  The smallest possible setup would have both Solr and
ZooKeeper running on two of those servers (as separate processes).  The
Solr instances would be started with a -z option (or the ZKHOST
environment variable) to locate the three ZK servers, and without the
-cloud option.  The third server, which can be a much smaller system,
would only run ZooKeeper.  You may also need a load balancer, depending
on what software your clients are using.

The requirement of three servers comes from ZooKeeper, not Solr.  A
two-server ZK ensemble is actually *less* reliable than a single server,
so it's not recommended.  I don't know if they even allow such a setup
to work.

Thanks,
Shawn


Mime
View raw message