Details
Description
If bin/solr is used on a system which does not have lsof available a code path is used when starting up solr nodes that causes bin/solr to exist as soon as the first solr node is launched.
the work around is to either install lsof, or manually start up each of the additional nodes, and create the collection, after the "-e cloud" command exits...
solr start -cloud -s example/cloud/node2/solr -p XXXX -z localhost:9983 solr start -cloud -s example/cloud/node3/solr -p YYYY -z localhost:9983 ... bin/solr create -c gettingstarted -replicationFactor N -shards M -d data_driven_schema_configs
Original bug report...
Extract from the command prompt on starting up solr cloud :
-------------------------------------------------------------------------------------------
[appuser@mysolrsandbox ~]$ cd $HOME/softwares/solr-5.2.1
[appuser@mysolrsandbox solr-5.2.1]$ bin/solr start -e cloud -noprompt -m 1gWelcome to the SolrCloud example!
Starting up 2 Solr nodes for your example SolrCloud cluster.
Creating Solr home directory /home/appuser/softwares/solr-5.2.1/example/cloud/node1/solr
Cloning Solr home directory /home/appuser/softwares/solr-5.2.1/example/cloud/node1 into /home/appuser/softwares/solr-5.2.1/example/cloud/node2Starting up SolrCloud node1 on port 8983 using command:
solr start -cloud -s example/cloud/node1/solr -p 8983 -m 1g
Started Solr server on port 8983 (pid=102). Happy searching!
[appuser@mysolrsandbox solr-5.2.1]$------------------------------------------------------------------------------------------------
The second node is not starting up.
Possible issue :
File : $SOLR_HOME/bin/solr
Line number : 1431
– The "exit;" command is causing the shell scrip to exit.Line 1428 - 1432
else
SOLR_PID=`ps auxww | grep start\.jar | grep -w $SOLR_PORT | grep -v grep | awk 'Unknown macro: {print $2}' | sort -r`
echo -e "\nStarted Solr server on port $SOLR_PORT (pid=$SOLR_PID). Happy searching!\n"
exit;
fiWork Around :
Comment line 1431 in the shell script
Line 1428 - 1432
else
SOLR_PID=`ps auxww | grep start\.jar | grep -w $SOLR_PORT | grep -v grep | awk '' | sort -r`
echo -e "\nStarted Solr server on port $SOLR_PORT (pid=$SOLR_PID). Happy searching!\n"
#exit;
fi