哪个是重启 Solr 的正确方法

Orl*_*ndo 6 linux solr

我对 Solr 架构文件进行了一些更改,我看到我被迫重新启动 SolR 以便让 Solr 以新的架构更新运行。

这是托管在从 start.jar 文件运行 solr 的服务器上,但我不确定它是如何启动的(也许使用 nohup)

我找到了一种从另一个问题中阻止 SolR 的方法(/sf/ask/150553721/):

kill `ps uax | grep -i "java -jar start.jar" | head -n 1 | awk '{print $2}'`
Run Code Online (Sandbox Code Playgroud)

在此之后,我使用“java -jar start.jar”启动 SolR。

这是重新启动的正确方法还是有内置/更好的方法来重新启动 jar?

小智 4

Websolrinit.d中,我们使用自定义脚本和Monit的组合来启动 Solr 并确保其保持运行。

也就是说,对于更简单的自托管设置,如果您的系统有 Upstart 可用,我建议使用Upstart来启动和停止 Solr。Upstart 脚本的优点是相当简单,而且 Upstart 在进程崩溃时能够很好地重新启动进程。另外,下次您需要让 Solr 了解新配置时,启动和停止命令(分别为start和)非常容易记住。stop

这是一篇很好的博客文章,介绍了如何使用 Upstart 启动 Solr。我在下面复制了他们的暴发户脚本;请务必更新相关路径以匹配您的系统:

description "Solr Search Server"

# Make sure the file system and network devices have started before
# we begin the daemon
start on (filesystem and net-device-up IFACE!=lo)

# Stop the event daemon on system shutdown
stop on shutdown

# Respawn the process on unexpected termination
respawn

# The meat and potatoes
exec /usr/bin/java -Xms128m -Xmx256m -Dsolr.solr.home=/path/to/solr/home -Djetty.home=/path/to/jetty -jar /path/to/jetty/start.jar >> /var/log/solr.log 2>&1
Run Code Online (Sandbox Code Playgroud)