Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-4450

Developer Curb Appeal: Need consistent command line arguments for all nodes

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Not A Problem
    • 4.1
    • 4.9, 6.0
    • SolrCloud
    • None

    Description

      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)

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              mbennett Mark Bennett
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: