X-Git-Url: http://git.indexdata.com/?p=lui-solr.git;a=blobdiff_plain;f=scripts%2Fzookeeper.sh;h=50491e45d21c8fc064fc779b35d8af2d226879a1;hp=8e4820263081b76a33de0876bdfc45b94d84f3c5;hb=a8c09bd06a96955482866a6790ab856a4ff22f63;hpb=25f05a50d56914f69f53801fa2680fbd9c9d8f1b diff --git a/scripts/zookeeper.sh b/scripts/zookeeper.sh index 8e48202..50491e4 100755 --- a/scripts/zookeeper.sh +++ b/scripts/zookeeper.sh @@ -1,26 +1,63 @@ -#/bin/bash +#!/bin/bash -OPTIONS="-Djetty.port=8983 -DzkHost=opencontent-solr.index:9983" -NAME="indexdata-solr-zookeeper" +NAME="indexdata-lui-solr-zookeeper" +HOST=localhost +PORT=8983 +SHARDS=2 PID_FILE=/var/run/${NAME}.pid LOG_FILE=/var/log/${NAME}.log -if [ -f "options" ]; then - source options +ZOOKEEPER=yes +OPTIONS=${OPTIONS:-options} + +if [ -f "$OPTIONS" ]; then + source $OPTIONS else - echo "No options file. Using defaults: $OPTIONS" + echo "No options file ($OPTIONS). Using defaults." +fi +let ZKPORT=$PORT+1000 +if [ "$ZKHOSTS" == "" ] ; then + ZKHOSTS=${HOST}:${ZKPORT} +fi + +if [ "$BOOTSTRAP_CONF" != "" ] ; then + BOOTSTRAP_OPT="-Dbootstrap_confdir=$BOOTSTRAP_CONF" +fi +if [ "$PORT" == "" ] ; then + echo Port missing + +fi +if [ "$ZKHOSTS" == "" ] ; then + echo ZKHOSTS missing +fi +if [ "$SHARDS" == "" ] ; then + echo SHARDS missing +fi +if [ "$ZOOKEEPER" == "yes" ] ; then + ZKRUN="-DzkRun -DnumShards=${SHARDS}" +fi +if [ "${SOLR_HOME}" != "" ] ; then + SOLR_HOME_OPT="-Dsolr.solr.home=${SOLR_HOME}" fi +OPTIONS=" $SOLR_HOME_OPT -Djetty.port=$PORT ${BOOTSTRAP_OPT} -Dcollection.configName=$NAME ${ZKRUN} -DzkHost=${ZKHOSTS} " if [ "$1" == "start" ]; then if [ -f "${PID_FILE}" ] ; then echo "pid file ${PID_FILE} exists. Already running?" - exit 1 + else + java $OPTIONS -jar start.jar > $LOG_FILE & + echo $! > ${PID_FILE} fi - java $OPTIONS -jar start.jar > $LOG_FILE & - echo $! > ${PID_FILE} elif [ "$1" == "stop" ]; then - if [ -x "${PID_FILE}" ] ; then - kill `echo ${PID_FILE}` - rm ${PID_FILE} + if [ -f "${PID_FILE}" ] ; then + PID="`/bin/cat ${PID_FILE}`" + if [ "$PID" != "" ] ; then + kill $PID + /bin/rm ${PID_FILE} + else + echo "Unable to extract PID from ${PID_FILE}" + fi + else + echo "No pid file ($PID_FILE) found" fi else echo "$0 [start|stop|status]"