每隔几周,solr 就会变得不可用。使用它的网站上的搜索页面会崩溃,并且 solr web 管理员无法访问(无法连接)
以下是 solr 状态显示的内容:
root@wairc-kman-1:/var/solr/logs# service solr status
● solr.service - LSB: Controls Apache Solr as a Service
Loaded: loaded (/etc/init.d/solr; generated)
Active: active (exited) since Thu 2022-07-07 16:28:25 UTC; 2 weeks 6 days ago
Docs: man:systemd-sysv-generator(8)
Tasks: 0 (limit: 2338)
Memory: 0B
CGroup: /system.slice/solr.service
Jul 07 16:28:16 wairc-kman-1 systemd[1]: Starting LSB: Controls Apache Solr as a Service...
Jul 07 16:28:16 wairc-kman-1 su[720036]: (to solr) root on none
Jul 07 16:28:16 wairc-kman-1 su[720036]: pam_unix(su-l:session): session opened for user solr by (uid=0)
Jul 07 16:28:25 wairc-kman-1 systemd[1]: Started LSB: Controls Apache Solr as a Service.
网站日志显示:
Uncaught Exception GuzzleHttp\Exception\ConnectException: "cURL error 7: Failed to connect to localhost port 8983: Connection refused
我在 solr 日志 /var/www/solr/logs/solr.log 中找不到一周前更新的任何内容
重新启动“修复”了错误 - solr 再次变得可访问。我该如何调试?或者检测它并在需要时重新启动?
/var/log/messages
。您是否检查过服务器内存 (JVM) 和磁盘空间?如果您“找不到一周前的任何最新信息”,则可能是您的日志记录策略对于您的系统来说太过繁重,尤其是在没有空间的情况下,请参阅此帖子。此外,听起来很奇怪,确实会发生(至少对我来说在 CentOS 7 上)通过 SysVInit 运行 Solr 无法正确跟踪 Solr 状态,而 SystemD(systemctl)可以。/var/log/syslog
或 中找到一个日志条目/var/log/messages
。在这种情况下,调整可用内存;journalctl
也可能有助于从进程本身获取任何前台/systemd 错误。