Skip to content

Toro Cloud Dev Center


Connecting Martini to SolrCloud

The ability to connect Martini to a SolrCloud cluster is already a built-in feature. It only takes a few simple configuration changes. Before doing this however, you should ensure that connecting to SolrCloud is supported by your Martini license.

Procedure

  1. Navigate to Martini's data directory.

    1
    cd <martini-home>/data
    
  2. Open your instance properties file and edit the solr.mode, solr.url, and solr.core-prefix properties.

    • solr.mode

      This property value should be cloud, to tell Martini that it will be using SolrCloud. It triggers Martini to use the delegating version of Solr. That is, Martini will iterate through a list of declared Solr servers and use the first server that successfully connects to a Solr core.

      Delegating Solr servers

      Martini also ships with a built-in feature that allows it to use an embedded Solr server in place of the cloud or remote Solr cluster when the latter is unavailable.

      This feature is disabled by default, but you can enable it by setting the solr.enable-embedded-fallback instance property value to true.

    • solr.url

      The comma-separated IP addresses of the ZooKeeper instances in your ZooKeeper ensemble.

    • solr.core-prefix

      The prefix of your collection names.

    Here's how it's configured for this section's example:

    1
    2
    3
    solr.mode=cloud
    solr.url=192.168.21.71:2181,192.168.21.72:2181,192.168.21.73:2181
    solr.core-prefix=jte
    
  3. Restart your Martini instance. This time, it should connect to your SolrCloud cluster.

    1
    2
    cd <martini-home>/bin/
    ./toro-martini start
    

    While Martini is starting, check the logs to see if the collections have been initialized properly. You should see something similar to the logs below if Martini was able to communicate properly with the SolrCloud cluster:

    1
    2
    3
    4
    25/04/18 08:56:49.977 INFO  [CloudSolrClient] Starting core: 'invoke_monitor'
    25/04/18 08:56:50.037 INFO  [CloudSolrClient] Starting core: 'invoke_monitor' completed
    25/04/18 08:56:49.402 INFO  [CloudSolrClient] Starting core: 'tracker'
    25/04/18 08:56:49.963 INFO  [CloudSolrClient] Starting core: 'tracker' completed
    

That's it! Your Martini instance is now using the SolrCloud cluster that you have just configured!