如何使用命令行停止solr

XMe*_*Men 18 solr

我想通过命令停止solr,所以如果找到这篇文章

http://rc98.net/solrinit

echo "Stopping Solr"
        cd $SOLR_DIR
        java -Xmx1024m -DSTOP.PORT=8079 -DSTOP.KEY=stopkey -jar start.jar --stop
Run Code Online (Sandbox Code Playgroud)

什么是Xmx1024m?

我会在哪里找到DSTOP.KEY?

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

yaz*_*zhi 27

solr stop -all #停止所有端口

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

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


Jay*_*dra 24

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

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

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

示例 -

用Jetty开始solr -

java -DSTOP.PORT=8079 -DSTOP.KEY=mysecret -jar start.jar
Run Code Online (Sandbox Code Playgroud)

用码头停止Solr -

java -DSTOP.PORT=8079 -DSTOP.KEY=mysecret -jar start.jar --stop
Run Code Online (Sandbox Code Playgroud)

STOP.KEY是在stop命令期间应该匹配的密钥.

  • 更新了答案.请花一些时间来完成答案中提到的简单文档.它在那里非常清楚地提到. (2认同)

Mag*_*led 16

你可以运行(其中8983是默认的solr端口)

lsof -i :8983
Run Code Online (Sandbox Code Playgroud)

将返回PID#,然后使用

kill -9 PID#
Run Code Online (Sandbox Code Playgroud)

杀死那个pid(没有哈希运行它)

  • 这真是一个糟糕的主意!!为什么不让 Solr 有机会先使用 `kill`(没有 `-9`)干净地关闭。`STOP.PORT` 方法是最安全的,但是 `kill` 它通常也可以正常工作。使用 `kill -9` 可能会损坏索引并丢失所有数据。 (2认同)

Wir*_*dIn 6

如果耙太阳黑子,这对我有用:solr:stop不起作用

ps -ef | grep solr

然后使用返回的信息

sudo kill <process_id>

例:

sudo kill 792