Don’t set solr.data.dir. Instead, set the install dir. Something like:
-Dsolr.solr.home=/data/solr
-Dsolr.install.dir=/opt/solr

I have many solrcloud collections, and separate data/install dirs, and
I’ve never had to do anything with manual per-collection or per-replica
data dirs.

That said, it’s been a while since I set this up, and I may not remember
all the pieces. 
You might need something like this too, for example:

-Djetty.home=/opt/solr/server


On 12/14/15, 3:11 PM, "Erick Erickson" <erickerick...@gmail.com> wrote:

>Currently, it'll be a little tedious but here's what you can do (going
>partly from memory)...
>
>When you create the collection, specify the special value EMPTY for
>createNodeSet (Solr 5.3+).
>Use ADDREPLICA to add each individual replica. When you do this, you
>can add a dataDir for
>each individual replica and thus keep them separate, i.e. for a
>particular box the first
>replica would get /data/solr/collection1_shard1_replica1, the second
>/data/solr/collection1_shard2_replica1 and so forth.
>
>If you don't have Solr 5.3+, you can still to the same thing, except
>you create your collection letting
>the replicas fall where they will. Then do the ADDREPLICA as above.
>When that's all done,
>DELETEREPLICA for the original replicas.
>
>Best,
>Erick
>
>On Mon, Dec 14, 2015 at 2:21 PM, Tom Evans <tevans...@googlemail.com>
>wrote:
>> On Mon, Dec 14, 2015 at 1:22 PM, Shawn Heisey <apa...@elyograg.org>
>>wrote:
>>> On 12/14/2015 10:49 AM, Tom Evans wrote:
>>>> When I tried this in SolrCloud mode, specifying
>>>> "-Dsolr.data.dir=/mnt/solr/" when starting each node, it worked fine
>>>> for the first collection, but then the second collection tried to use
>>>> the same directory to store its index, which obviously failed. I fixed
>>>> this by changing solrconfig.xml in each collection to specify a
>>>> specific directory, like so:
>>>>
>>>>   <dataDir>${solr.data.dir:}products</dataDir>
>>>>
>>>> Looking back after the weekend, I'm not a big fan of this. Is there a
>>>> way to add a core.properties to ZK, or a way to specify
>>>> core.baseDatadir on the command line, or just a better way of handling
>>>> this that I'm not aware of?
>>>
>>> Since you're running SolrCloud, just let Solr handle the dataDir, don't
>>> try to override it.  It will default to "data" relative to the
>>> instanceDir.  Each instanceDir is likely to be in the solr home.
>>>
>>> With SolrCloud, your cores will not contain a "conf" directory (unless
>>> you create it manually), therefore the on-disk locations will be *only*
>>> data, there's not really any need to have separate locations for
>>> instanceDir and dataDir.  All active configuration information for
>>> SolrCloud is in zookeeper.
>>>
>>
>> That makes sense, but I guess I was asking the wrong question :)
>>
>> We have our SSDs mounted on /data/solr, which is where our indexes
>> should go, but our solr install is on /opt/solr, with the default solr
>> home in /opt/solr/server/solr. How do we change where the indexes get
>> put so they end up on the fast storage?
>>
>> Cheers
>>
>> Tom

Reply via email to