2011-11-02 91 views
14

Solr的我想停止命令SOLR所以如果发现本文中的如何停止使用命令行

http://rc98.net/solrinit

echo "Stopping Solr" 
     cd $SOLR_DIR 
     java -Xmx1024m -DSTOP.PORT=8079 -DSTOP.KEY=stopkey -jar start.jar --stop 

是什么Xmx1024m?

我在哪里可以找到DSTOP.KEY?

请通过命令行告诉正确的程序启动和停止solr。

回答

20

-XmX1024m - 是java参数并指定最大Java堆大小,在您的情况下设置为1 GB。

stopkey是启动时的密钥,它也必须出现在终止请求上以提高安全性。

你可以找到一个详细的解释@http://docs.codehaus.org/display/JETTY/Securing+Jetty

示例 -

与码头Solr的开始 -

java -DSTOP.PORT=8079 -DSTOP.KEY=mysecret -jar start.jar 

停止Solr的用码头 -

java -DSTOP.PORT=8079 -DSTOP.KEY=mysecret -jar start.jar --stop 

的STOP.KEY是停止逗号期间应该匹配的密钥ND。

+0

我不能停下来,你能解释一下我需要做什么开始solr并停止solr? – XMen

+2

更新了答案。请花点时间阅读答案中提到的简单文档。它在那里非常明确地提到。 – Jayendra

+0

当我运行java -DSTOP.PORT = 8079 -DSTOP.KEY = mysecret -jar start.jar在示例目录中停止solr后,它说已经在使用中的地址并且未启动solr,可以执行什么操作 – XMen

2

对于本地操作,您可以通过在您启动Solr的控制台窗口 中按Ctrl-c来终止Solr服务器。通常情况下,这是用于开发和测试

14

您可以运行(其中8983是默认的Solr端口)

lsof -i :8983 

将返回PID#足够安全,然后使用

kill -9 PID# 

杀该pid(运行它没有哈希)

+0

感谢它的工作! – huzefam

+0

这也适用于我。无法获得接受的工作答案。 – Esteban

+0

或者:“fuser -k 8983/tcp”(参见:http://stackoverflow.com/a/11596144/2265487)并且在.bashrc中包含易于使用的别名:alias solr_stop ='fuser -k 8983/tcp' – ElMesa

5

这对我如果耙太阳黑子:solr:停止不起作用

ps -ef | grep solr

然后使用返回的信息

sudo kill <process_id>

例如:

sudo kill 792

13

solr stop -all#停止所有端口

solr stop -p 8983#停止特定端口

如果它显示错误ERROR: Port 8983 is already being used by another process.,请终止运行Solr的控制台窗口Ctrl-C,然后尝试上述选项之一。因为杀死控制台窗口不会停止服务。

+0

我喜欢stop -all方法,注意如果你在根文件夹中,它会是bin/solr stop -all – edencorbin