You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Mark Bennett (JIRA)" <ji...@apache.org> on 2013/02/12 22:57:14 UTC

[jira] [Created] (SOLR-4450) Developer Curb Appeal: Need consistent command line arguments for all nodes

Mark Bennett created SOLR-4450:
----------------------------------

             Summary: Developer Curb Appeal: Need consistent command line arguments for all nodes
                 Key: SOLR-4450
                 URL: https://issues.apache.org/jira/browse/SOLR-4450
             Project: Solr
          Issue Type: Bug
          Components: SolrCloud
    Affects Versions: 4.1
            Reporter: Mark Bennett
             Fix For: 4.2


Suppose you want to create a small 4 node cluster (2x2, two shards, each replicated), each on it's own machine.

It'd be nice to use the same script in /etc/init.d to start them all, but it's hard to come up with a set of arguments that works for both the first and subsequent nodes.

When MANUALLY starting them, the arguments for the first node are different than for subsequent nodes:

Node A like this:
    -DzkRun -DnumShards=2 -Dbootstrap_confdir=./solr/collection1/conf -Dcollection.configName=MyConfig -jar start.jar

Vs. the other 3 nodes, B, C, D:
	-DzkHost=nodeA:9983 -jar start.jar

But if you combine them, you either still have to rely on Node A being up first, and have all nodes reference it:

    -DzkRun -DzkHost=nodeA:9983 -DnumShards=2 -Dbootstrap_confdir=./solr/collection1/conf -Dcollection.configName=MyConfig

OR you can try to specify the address of all 4 machines, in all 4 startup scripts, which seems logical but doesn't work:

    -DzkRun -DzkHost=nodeA:9983,nodeB:9983,nodeC:9983,nodeD:9983 -DnumShards=2 -Dbootstrap_confdir=./solr/collection1/conf -Dcollection.configName=MyConfig

This gives an error:
org.apache.solr.common.SolrException log
SEVERE: null:java.lang.IllegalArgumentException: port out of range:-1

This thread suggests a possible change in syntax, but doesn't seem to work (at least with the embedded ZooKeeper)

Thread:
http://lucene.472066.n3.nabble.com/solr4-0-problem-zkHost-with-multiple-hosts-throws-out-of-range-exception-td4014440.html

Syntax:
    -DzkRun -DzkHost=nodeA:9983,nodeB:9983,nodeC:9983,nodeD:9983/solrroot -DnumShards=2 -Dbootstrap_confdir=./solr/collection1/conf -Dcollection.configName=MyConfig

Error:
SEVERE: Could not start Solr. Check solr/home property and the logs
Feb 12, 2013 1:36:49 PM org.apache.solr.common.SolrException log
SEVERE: null:java.lang.NumberFormatException: For input string: "9983/solrroot"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)


So:
* There needs to be some syntax that all nodes can run, even if it requires listing addresses  (or multicast!)
* And then clear documentation about suggesting external ZooKeeper to be used for production (list being maintained in SOLR-4444)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org