Я пытаюсь создать служебный скрипт solr, который можно использовать для автоматического запуска solr при перезагрузке. Вот сценарий, который я рекомендовал:
#!/bin/sh
# Starts, stops, and restarts Apache Solr.
#
# chkconfig: 35 92 08
# description: Starts and stops Apache Solr
SOLR_DIR="/var/www/html/fas/solr/solr-latest"
JAVA_OPTIONS="-Xmx1024m -DSTOP.PORT=8983 -DSTOP.KEY=mustard -jar /var/www/html/fas/solr/solr-latest/server/start.jar"
LOG_FILE="/var/log/solr.log"
JAVA="/bin/java"
case $1 in
start)
echo "Starting Solr"
cd $SOLR_DIR
$JAVA $JAVA_OPTIONS 2> $LOG_FILE &
;;
stop)
echo "Stopping Solr"
cd $SOLR_DIR
$JAVA $JAVA_OPTIONS --stop
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}" >&2
exit 1
;;
esac
Я думаю, что установил соответствующие значения для переменных в сценарии. Но когда я пытаюсь запустить скрипт, я получаю «Соединение отказано».
$ service solr stop
Stopping Solr
java.net.ConnectException: Connection refused (Connection refused)
Я получаю тот же результат, независимо от того, запускаю ли я скрипт как root или нет.
Я могу остановиться и запустить solr таким образом, однако:
/path/to/my/solr/bin/solr start
Итак, я также попытался создать этот скрипт в /etc/init.d/solr-start
#!/bin/sh
# Starts Apache Solr.
#
# chkconfig: 35 92 08
# description: Starts Apache Solr
/var/www/html/fas/solr/solr-latest/bin/solr start
Этот скрипт работает в командной строке, но он не работает при перезагрузке. Чтобы попытаться заставить его работать при перезагрузке, я сделал ...
sudo systemctl enable solr-start
Но Solr не запускается при перезагрузке.
Мои версии: RHEL 7, Solr 6.6.6