I'm working on a new project with Sitecore 8.2 update 2 and SolrCloud to provide high availability for Solr.

For SolrCloud, I'll have 3 Zookeepers and 2 Solrs but every solution will run on its own machine, separately from each other.

In a regular environment with a standalone Solr, the Sitecore.ContentSearch.Solr.DefaultIndexConfiguration.config uses

<setting name="ContentSearch.Solr.ServiceBaseAddress" value="http://Standalone:8983/solr" />

So, my question is: how should I point SolrCloud in Sitecore configuration? I understand that a load balancer but don't know exactly where should it be for Zookeeper or for Solr or both?


This is a good article describing your scenario (last section, Sitecore and SolrCloud).

In this scenario, you need 2 levels of load balancing.

  1. For high availability, you need a network load balancer. It will be in front of the 3 Zookepers, checking which of them are available and sending the request to one of them. The IP of this load balancer is the one that you must set as ContentSearch.Solr.ServiceBaseAddress. If you don't have a network load balancer and point this setting to one of the Zookepers directly and it is down, no matter how clever SolarCloud is, there is no way to handle the request by another server.
  2. At application level and for splitting the load, you have Zookeper as load balancer too. Once of the servers receives the request, Zookper will decide which Solr must actually perform the operation, ask him and send the response back to the client. enter image description here
  • So, based in your answer I'll need a Load Balancer -> Zookeeper (1-3) - Load Balancer - Solr (1-2)? Aug 9 '17 at 11:31
  • 1
    No, What I mean is that you need a load balancer in front of zookeper and that Zookeeper itself is a load balancer: Load Balancer -> Zookeeper (1-3) - Solr (1-2) Aug 9 '17 at 11:50
  • So, imagining that I have 1 Zookeeper and 1 Solr properly set for future scaling. In Sitecore I should put the Zookeeper IP to reach out Solr indexes? Aug 9 '17 at 12:45
  • 1
    I haven't tested Zookeper in a stand alone machine with Solr in a different one, but yes, I would try that Aug 9 '17 at 12:52

The setting provided "ContentSearch.Solr.ServiceBaseAddress" isn't just for a standalone Sitecore, you can have multiple nodes pointing to the same ServiceBaseAddress.

ZooKeeper is the integration for the cluster, so, Probably it has an Address/IP configured that should be pointed on the ServiceBaseAddress

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.