lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shawn Heisey <>
Subject Re: Basic SolrCloud help
Date Wed, 29 Nov 2017 22:51:07 GMT
On 11/29/2017 11:44 AM, Steve Pruitt wrote:
> I want ZK to manage the config files.  The config set and the solr.xml file.  I wanted
to upload them explicitly.
> This is where my questions begin.
> I assume I upload the config files prior to starting Solr?

If you're storing solr.xml in ZK, then you need to upload that file
before starting Solr.  Note that you cannot have server-specific
configurations in solr.xml if it is in zookeeper -- the exact same
solr.xml file will be used for all Solr instances connecting to that ZK

You can upload the collection configurations either before or after you
start Solr, but they definitely need to be there before you create
collections that use them.

> Since I have Solr installed on locally, I can use the local scripts to upload the config
> Looking at the example command for uploading the solr.xml file.
>     bin/solr zk cp file:local/file/path/to/solr.xml zk:/solr.xml -z localhost:2181
> It lists a single ZK host (example localhost). If uploading to a ZK ensemble, do I list
all three hosts as in my case?
> Or, do I send it to one ZK host and ZK makes it available to the other ZK hosts?

I would personally include the entire zkhost string listing all your
servers and any chroot.  But if you only list one (and the chroot if
you're using one), then it will *probably* work without any problems. 
The connection is only needed for a few moments with the commandline copies.

> Looking at the example command for uploading the configuration files.
>     bin/solr zk upconfig -n <name for configset> -d <path to directory with
> I see no ZK hosts listed.  I assume this means Solr has been started in cloud mode and
already knows the ZK hosts?

The definition wouldn't come from the running Solr, it would come from
the *config* that started the running Solr.

It would take an exhaustive code review to be SURE about what I'm going
to say here, but this is how I *think* it works:  If the -z option is
not provided, the bin/solr script is going to expect ZK_HOST to be
defined in the environment or the include script.  If you have
*installed* Solr (rather than just extracted the archive and started
it), then the include script is going to be in /etc/default and will
typically be named, but the name could be different if you
changed the name of the service when you installed it.  If you have just
started Solr manually, then it will probably be bin/

If you have defined ZK_HOST in your include script, then you probably
don't need the -z option for the solr.xml copy command above either.

If what I've just said is correct, then I can be reasonably sure it's
the case for 6.6.x and 7.x, but I do not know for sure with older versions.

> Per the solr.xml file.  When installing Solr, I can leave installed solr.xml file in
place?  ZK replaces it with the uploaded version?

As I understand it, if Solr finds solr.xml in zookeeper on startup, it
is going to use that file, and won't even look for a local copy.


View raw message