我在Solr Schema文件中做了一些更改,我发现我被迫重新启动SolR,以便让Solr运行新的架构更新.
它托管在一个服务器上,其中solr从start.jar文件运行,但我不知道它是如何启动的(也许是nohup)
我找到了一种方法来阻止SolR从另一个问题(https://stackoverflow.com/questions/2150767/how-to-start-solr-automatically):
kill `ps uax | grep -i "java -jar start.jar" | head -n 1 | awk '{print $2}'`
在此之后,我用“java -jar start.jar”启动SolR.
这是重启的正确方法还是有内置/更好的方式来重启jar?
解决方法
在
Websolr,我们使用自定义init.d脚本和
Monit的组合来启动Solr并确保它保持运行.
也就是说,对于更简单的自托管设置,如果您的系统具有Upstart可用,我建议使用Upstart启动和停止Solr. Upstart脚本具有相当简单的优点,Upstart可以在崩溃时重新启动进程.另外,启动和停止命令(分别为启动和停止)很容易记住,以便下次需要让Solr知道新的配置.
这是一篇很好的博客文章,涵盖了starting Solr with Upstart.我已经在下面复制了他们的新贵脚本;请务必更新相关路径以匹配您的系统:
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