This came to my attention just now. To use a different root in Solr, we say this in the ref guide:
IMPORTANT: If your ZooKeeper connection string uses a chroot, such as localhost:2181/solr, then you need to bootstrap the /solr znode before launching SolrCloud using the bin/solr script. To do this, you need to use the zkcli.sh script shipped with Solr, such as:
server/scripts/cloud-scripts/zkcli.sh -zkhost localhost:2181/solr -cmd bootstrap -solrhome server/solr
I think all this really does is create an empty /solr ZNode. We're trying to move the common usages of the zkcli scripts to bin/solr so I tried making this work.
It's clumsy. If I try to copy up an empty directory to /solr nothing happens. I got it to work by copying file:README.txt to zk:/solr/nonsense then delete zk:/solr/nonsense. Ugly.
I don't want to get into reproducing the whole Unix shell file manipulation commands with mkdir, touch, etc.
I guess we already have special 'upconfig' and 'downconfig' commands, so maybe a specific command for this like 'mkroot' would be OK. Do people have opinions about this as opposed to 'mkdir'? I'm tending to mkdir.
Or have the cp command handle empty directories, but mkroot/mkdir seems more intuitive if not as generic.