Hi Tyrone, We use an external load balancer across the nodes. If you use the java client you can query the zookeepers
https://lucene.apache.org/solr/guide/7_1/solrcloud-query-routing-and-read-tolerance.html SolrCloud Query Routing And Read Tolerance | Apache Solr Reference Guide 7.1<https://lucene.apache.org/solr/guide/7_1/solrcloud-query-routing-and-read-tolerance.html> A Solr node will return the results of a search request as long as it can communicate with at least one replica of every shard that it knows about, even if it can not communicate with ZooKeeper at the time it receives the request. This is normally the preferred behavior from a fault tolerance standpoint, but may result in stale or incorrect results if there have been major changes to the ... lucene.apache.org Read Side Fault Tolerance<https://lucene.apache.org/solr/guide/7_1/solrcloud-query-routing-and-read-tolerance.html#read-side-fault-tolerance> In a SolrCloud cluster each individual node load balances read requests across all the replicas in collection. You still need a load balancer on the 'outside' that talks to the cluster, or you need a smart client which understands how to read and interact with Solr’s metadata in ZooKeeper and only requests the ZooKeeper ensemble’s address to start discovering to which nodes it should send requests. (Solr provides a smart Java SolrJ client called CloudSolrClient<https://lucene.apache.org/solr/7_1_0//solr-solrj/org/apache/solr/client/solrj/impl/CloudSolrClient.html>.) Hope it helps. [cid:ee5928bc-8841-4ba1-9750-6051d036412b] Jeff McCallum Software Test / DevOps Forensic Logic / COPLINK Office: 520-367-2844 email: jmccal...@forensiclogic.com www.forensiclogic.com<http://www.forensiclogic.com/> ________________________________ From: Tyrone Tse <tyrone...@hotmail.com> Sent: Thursday, September 3, 2020 10:14 AM To: solr-user@lucene.apache.org <solr-user@lucene.apache.org> Subject: Solr Cloud Query when one of the Solr instances goes down I have setup the example Solr Cloud that comes with the built in Zoo Keeper that runs on localhost:9993. I created my Solr Cloud instance with 2 nodes. Node 1 url is http://localhost:8983/solr/#/~cloud Node 2 url is http://localhost:7574/solr/#/~cloud Currently all Solr queries go through Node 1 http://localhost:8983/solr/files/select?q=*%3A* Is there a way to query solr cloud collections though the Zoo Keeper or common host:port So that if node 1 or node 2 goes down. The Solr query will still work, so I don't have to change the Solr host:port in the query if one solr node goes down? Currently in our Java application, if Solr 1 is going to brought down for maintenance, then the our solr configuration file solr url property has to be changed to from http://localhost:8983 to http://localhost:7574 Thanks Tyrone