繁体   English   中英

如何从命令行确认 Solr 正在运行?

[英]How to confirm Solr is running from the command line?

我们有几台服务器即将重新启动,我可能需要手动重新启动 Apache Solr。

如何验证(从命令行)Solr 正在运行?

正确的方法是使用 Solr 的STATUS命令。 您可以解析其 XML 响应,但只要它以 HTTP 状态200向您返回某些内容,就应该可以安全地假设它正在运行。 您可以使用curl执行 HTTP HEAD 请求:

curl -s -o /dev/null -I -w '%{http_code}' http://example.com:8983/solr/admin/cores?action=STATUS
  • 注意:此外,您可以在命令中添加-m <seconds>以仅等待几秒钟的响应。

这将向 Solr 管理界面发出请求,并在成功时打印出200 ,可以从 bash 脚本中使用,例如:

RESULT=$(curl -s -o /dev/null -I -w '%{http_code}' http://example.com:8983/solr/admin/cores?action=STATUS)
if [ "$RESULT" -eq '200' ]; then
    # Solr is running...
else
    # Solr is not running...
fi

如果您在运行 Solr 的同一台机器上,那么这是我的最爱:

$> solr status

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM