On 9/12/2018 7:38 AM, Gu, Steve (CDC/OD/OADS) (CTR) wrote:
I am upgrading our solr to 7.4 and would like to set up solrcloud for failover
and load balance. There are three zookeeper servers (zk1:2181, zk1:2182) and
two solr instance solr1:8983, solr2:8983. So what will be the solr url should
the client to use for access? Will it be solr1:8983, the leader?
If we use solr1:8983 to access solr, what happens if solr1:8983 is down? Will
the request be routed to solr2:8983 via the zookeeper? I understand that
zookeeper is doing all the coordination works but wanted to understand how this
works.
Zookeeper does not handle Solr requests. It doesn't know anything at
all about Solr. It is Solr that uses ZK to coordinate the cluster.
If you are using the Java client called CloudSolrClient, then you will
most likely be informing it about ZK, not Solr, and it will
automatically determine what Solr servers there are by talking to ZK,
and then will talk directly to the correct Solr servers. If you are not
using a client that is ZK-aware, then you will need a load balancer
sitting in front of your Solr servers. Don't put a load balancer in
front of ZooKeeper. Your clients will then talk to the load balancer.
Thanks,
Shawn