Hybris Cluster with a SOLR standalone installation

Fide picture Fide · Sep 11, 2014 · Viewed 10.1k times · Source

before I describe my Problem, I want to describe my architecture and what I planned.

I've installed 6 Hybris Servers on 6 virtual machines called hybris01-hybris06. They all are clustered and can see each other. I followed these instructions:

https://wiki.hybris.com/display/release5/SolrFacetSearch+-+Installation+Guide and made the following Setup:

I went to hybris/bin/ext-commerce/solrfacetsearch/resources/solr/server/ and configured solr.xml and conf/solrconfig.xml. Especially into the last one I added These lines:

  <solrconfig>
        <mode>standalone</mode>
    </solrconfig>

    <clusterconfig>
        <aliveCheckInterval>5000</aliveCheckInterval>
        <connectionTimeout>5000</connectionTimeout>
        <readTimeout>5000</readTimeout>
        <endpointURLs>
            <endpointURL master="true">hybris05:8983/solr</endpointURL>
            <endpointURL>hybris06:8983/solr</endpointURL>
        </endpointURLs>
    </clusterconfig>

and I also wrote this into the local.properties:

    solr.server.env=prod
    solr.server.mode=standalone
    solr.server.endpointURL=hybris05:8983/solr // and 06 on the other Server

But what I see is "using system property solr.solr.home: /opt/hybris/config/solr/embedded"

Now I am not sure if each Hybris instance is using embedded or standalone.

How can I find this out?

Greetings Fide

Answer

Benoit Vanalderweireldt picture Benoit Vanalderweireldt · Dec 12, 2014

You need to explicitly tell Hybris to use your Standalone Solr cluster, to do so you need to go to the HMC :

System -> Facet Search -> Facet Search Config -> Apparel Index (example) -> Solr Configuration -> Edit the activated Solr Server Configuration

You need to declare every members of your cluster here, you could write an impex query to insert this configuration. Don't forget that when you have a dedicated Solr master, the Indexer Mode could be Direct (faster) without any front-end index interruption.