lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shawn Heisey (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SOLR-4450) Developer Curb Appeal: Need consistent command line arguments for all nodes
Date Fri, 22 Feb 2013 00:26:13 GMT

    [ https://issues.apache.org/jira/browse/SOLR-4450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13583734#comment-13583734
] 

Shawn Heisey commented on SOLR-4450:
------------------------------------

Jan, I also think that solr.xml should only contain what's required to talk to zookeeper and
properly populate it with information specific to that node.  Here's what is in my init script
right now:

ZKHOST="mbzoo1.REDACTED.com:2181,mbzoo2.REDACTED.com:2181,mbzoo3.REDACTED.com:2181${ZKCHROOT}"
<snip>
STARTARGS="${JMEM_OPTS} ${JGC_OPTS} ${JMX_OPTS} -Dsolr.solr.home=${SOLRHOME} -DzkHost=${ZKHOST}
-Djetty.port=${LISTENPORT} -Dlog4j.configuration=file:etc/log4j.properties -DSTOP.PORT=${STOPPORT}
-DSTOP.KEY=${STOPKEY}"
<snip>
cd ${SOLRROOT}
${JBIN} ${STARTARGS} -jar ${SOLRROOT}/start.jar >logs/out 2>logs/err &

Currently my solr.xml starts with the following:

<solr persistent="true" sharedLib="lib">
  <cores adminPath="/admin/cores" zkClientTimeout="${zkClientTimeout:15000}" hostPort="${jetty.port:}"
hostContext="solr">

The only thing I am plan to move from init to solr.xml (based on what Mark has said) is zkHost.
 With this change, the init script will be identical to the one I use for a Solr 4.x install
that's not using SolrCloud, which I believe is an extremely important goal.

I believe that always including a ZK chroot in example configs and documentation is a good
idea.  I can envision a semi-common user question of "How can I add another SolrCloud install
to my existing zookeeper ensemble?"  If we plan from the beginning to utilize a chroot, there
will be far less frustration involved in the answer.

                
> 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


Mime
View raw message