我正在尝试创建一个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,解决方案6.6.6
1条答案
按热度按时间vhmi4jdf1#
不幸的是,您几乎没有提供任何关于特定Solr安装的详细信息。
创建包含以下内容的文件
/etc/systemd/system/solr.service
(并进行调整以使其适合您的Solr安装):以root用户身份执行以下命令,或在这些命令前添加前缀
sudo
:systemctl daemon-reload
systemctl enable solr.service
systemctl start solr.service
systemctl status solr.service
如果你需要不同的(或更多)选项在systemd单位,这个GitHub Gist是suggested to upstream作为可能的起点上游包括。