Oliver,

You'll probably have better luck not supplying CLI arguments and creating your 
collection via the collections api 
(https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-CreateaCollection).
 Try removing -DnumShards and setting the -Dcollection.configName to something 
abstract such as "collection1" rather than "solrconfig.xml" as you'll actually 
end up creating a directory in zookeeper called "solrconfig.xml" which can get 
confusing. Something like:

http://localhost:7071/solr/admin/collections?action=CREATE&name=collection1&numShards=2&replicationFactor=2&maxShardsPerNode=2&collection.configName=collection1

should fit what you're trying to accomplish.

Thanks,
Greg

On Feb 25, 2014, at 9:09 AM, Oliver Schrenk <oliver.schr...@gmail.com> wrote:

> Hi,
> 
> tldr: I have troubles configuring SolrCloud 4.3.1 to replicate the shard of 
> another machine. Basically what it boils down is the question how to tell on 
> solr instance to replicate the shard of another machine. I though that the 
> system property `-Dshard=2` will do the trick but it doesn't do anything.
> 
> What to do?
> 
> 
> ---
> 
> I want the following setup
> 
> 
>                          leader.host_1:7070
>                         /
>                   shard1
>                  /      \           
>                 /        replica.host_2:7071
>       collection 
>                 \        leader.host_2:7070
>                  \      /  
>                   shard2
>                         \           
>                          replica.host_1:7071
> 
> I want to run two logical instances (leader & replica) of Solr on each 
> physical 
> machine (host_1 & host_2).
> 
> 
> 
> Everything is running but the shard is replicated on the same physical 
> machine!
> Which doesn't work as a failover mechanism. So at the moment the layout is as
> follows:
> 
>                          leader.host_1:7070
>                         /
>                   shard1
>                  /      \           
>                 /        replica.host_1:7071
>       collection 
>                 \        leader.host_2:7070
>                  \      /  
>                   shard2
>                         \           
>                          replica.host_2:7071
> 
> I basically run the following commands on each machine. First on host_1
> 
>       host_1$ java -Djetty.home=/opt/solr -DnumShards=2 
>       -Dcollection.configName=solrconfig.xml 
>       -DzkHost=localhost:2181 -Djetty.port=7070 
>       -Dsolr.solr.home=/opt/solr -Dbootstrap_confdir=conf -cp <classpath>
> 
>       host_1$ java -Djetty.home=/opt/solr-replica-1 -DnumShards=2 
>       -Dshard=shard2 -Dcollection.configName=solrconfig.xml 
>       -DzkHost=localhost:2181 -Djetty.port=7071 
>       -Dsolr.solr.home=/opt/solr-replica-1 -Dbootstrap_confdir=conf -cp 
> <classpath>
> 
> Then on host_2
> 
>       host_2$ java -Djetty.home=/opt/solr -DnumShards=2 
>       -Dcollection.configName=solrconfig.xml 
>       -DzkHost=localhost:2181 -Djetty.port=7070 
>       -Dsolr.solr.home=/opt/solr -Dbootstrap_confdir=conf -cp <classpath>
> 
>       host_2$ java -Djetty.home=/opt/solr-replica-1 -DnumShards=2 
>       -Dshard=shard1 -Dcollection.configName=solrconfig.xml 
>       -DzkHost=localhost:2181 -Djetty.port=7071 
>       -Dsolr.solr.home=/opt/solr-replica-1 -Dbootstrap_confdir=conf -cp 
> <classpath>
> 
> 
> 
> Am I using the wrong configuration parameter? Is this behaviour possible 
> (with Solr 4.3)?
> 
> 
> Best regards
> Oliver
> 

Reply via email to