# SOLR and Zookeeper setup

I am trying to setup mit XP1 installation requirements.

So I've setup a single SOLR server with Zookeeper on it like descripted here: https://lucene.apache.org/solr/guide/6_6/setting-up-an-external-zookeeper-ensemble.html

I think I've up and running SOLR and Zookeeper, how could I know if I've done everything right?

My SOLR I can reach from the outside from the server with HTTPS like https://mysolrserver:8983/solr but I cant' call the Zookeeper under port 2181 is that right?

And what I have to fill in into the sitecore-XP1.json under

"SolrZookeeperUrl": {
"Type": "string",
"DefaultValue": "localhost:2181",
"Description": "The Zookeeper instance to use."
},


is localhost the right url to post here, because SOLR and Zookeeper are on the same machine? Because my CD and CM are on other machines.

The localhost Problem is SOLVED => I've found a hint inthe Installation Guide

and my SOLR Setting looks like this

    "SolrUrl": {
"Type": "string",
"DefaultValue": "https://sitecore.staging.com:8983/solr",
"Description": "The Solr instance to use."
},


I've changed my Start Aguments from my SOLR instance to:

bin/solr start -e cloud -z localhost:2181 -noprompt


And I've tried to install the SOLR Indexes from my Sitecore Setup

Install-SitecoreConfiguration -Path "C:\Sitecore\xconnect-solr.json"


and then I got an Error

And when I Look into the Solr Log

I see the following Error and under Cloud I am currently see

And I am not shure what I've done wrong.

when I call the

.\zkcli.bat -zkhost localhost:2181 -cmd list


I see this output, but I can't interpret it.

I got it installed, how I will explain in the answerpost, when I get everything working but when I try to install the sitecore-solr.json I get the following cloud setup

the blubb and blubb2 indexes I added manually and they are the only ones which are connected to both of my SOLR instances. So I have to create all Indexes manually? Is this a bug in the JSON files?

So after a bit Help from grg and trowpa I got my answers and I will try to sum them up here

• First the XP1 *-solr.json Files do not support the whole SolrCloud Installation, you can add the Indexes but you need to convert them that they connect to each SolrCloud instance
• At first you must get the Zookeeper Up and Running like described here: http://www.chrissulham.com/sitecore-on-solr-cloud-part-2/
• In my setup I had the Zookeeper on the same Machine as my SOLR Cloud services
• My First large Problem was I am using HTTPS and signed certificates and you must tell the zookeeper to use SSL but you send the order from the solrcloud

C:\tools\solr-6.6.2-8983\server\scripts\cloud-scripts\zkcli.bat -zkhost localhost:2181 -cmd clusterprop -name urlScheme -val https


set SOLR_HOST=01sitecore.staging.com

• with this two settings I got the SSL up and running -then you need to create data directory for your SOLR node and inside this directory you need to create a solr directory and add the following files to it "solr.xml" and "zoo.cfg" both files you can find inside "\server\solr\" copy this two files into your "data\solr\" directory

• now you can create your SOLR Instances (services with NSSM) with the following Argument

.\solr.cmd start -c -p 8983 -z localhost:2181 -s  C:\tools\solr-6.6.2-8983\data\solr

• at the Moment I will try to install Only SOLR without the Cloud, if this works its fine for me because at the Moment I don't know why I really need the Solr Cloud, there are too many unknown facts and its a bit complicated to set it up and the maintainability on a live server I don't know how to handle this when something goes wrong.

• SolrCloud is only needed if you expect the website to be under very heavy load. You definitely don't need it for development environment. – grg Jul 3 '18 at 7:29

If Solr Cloud is correctly configured you should be able to see "Cloud" menu in Solr Admin UI. It should also show you shard and replica configuration.

Regarding the Zookeeper, you are correct - you should not be able to browse to to it on port 2181. However, you can Telnet if it was running on the remote machine and wanted to check if it's accessible.

xconnect-solr.json and sitecore-solr.json are not needed for SolrCloud for Sitecore 9. Official Sitecore documentation is pretty good at outlining steps needed to configure both SolrCloud for CMS and SolrCloud for xConnect.

• thx, for your answer, I've updated my Question a bit, because I've some new Problems with adding the Index. – squadwuschel Jun 29 '18 at 12:28
• Did you upload configuration to Zookeeper with using "bin/solr zk upconfig" command? lucene.apache.org/solr/guide/6_6/… – grg Jun 29 '18 at 17:32
• @squadwuschel, if I were you I wouldn't use xconnect-solr.json for SolrCloud. I don't think it's supported yet. Instead have a look at the latest official Sitecore doc on SolrCloud: doc.sitecore.net/developers/server-role-configuration-reference/… It recommends to use load balancer, but you can skip it to begin with (ie. skip "Implement health check" section). Let me know how you get on with it. – grg Jun 30 '18 at 11:10
• I've got it "working". I've updated my main post above with another Screenshot of my cloudsetup. I've created the blubb and blubb2 indexes myself and the others are created from sitecore-solr.json and it seems that I have to create all my indexes my self that they are connected to alle SOLR Servers. Is this a bug in the json files? Or I am missing something? Why did they deliver a sitecore-solr.json when its not working? – squadwuschel Jul 2 '18 at 12:36
• I have to agree with @grg. Solr Cloud isn't supported by the install scripts OOTB. Without digging in i'm assuming it just doesn't handle the Collections API, switchonrebuild changes, etc. Either customize /extend the install or simply install with non-cloud, and then run your own scripts to change over. You don't need to install each collection "manually" but just create your own script calling the collections REST ApI. – trowpa Jul 2 '18 at 18:41

You can check if ZooKeeper is working correctly by using the zkcli command that comes with Solr. Here's an example of how to use it:

server\scripts\cloud-scripts\zkcli -zkhost localhost:2181 -cmd list

• I've added the output above, but I can't interpret with my current knowledge – squadwuschel Jun 29 '18 at 12:47