Ubuntu 16.04中访问SOLR /solr/admin/ping出现HTTP ERROR 404求助
我来帮你解决这个404问题,Solr 7.x的ping接口和旧版本有个关键区别,先从最常见的原因开始排查:
首先,你访问的路径不对!
Solr的/admin/ping接口必须绑定具体的索引核心(Core),直接访问http://localhost:8983/solr/admin/ping是无效的,正确的URL格式应该是:http://localhost:8983/solr/[你的核心名称]/admin/ping
举个例子,如果你创建了名为mycore的核心,就应该访问http://localhost:8983/solr/mycore/admin/ping。确认你已经创建了Solr核心
如果还没创建核心,先执行创建命令(切换到Solr的bin目录,比如/opt/solr-7.3.0/bin/):./solr create -c mycore也可以通过Solr主页面的左侧菜单「Core Admin」查看已存在的核心,确认核心状态是「active」。
检查核心目录权限
虽然你已经设置了/var/solr/data的权限,但每个核心的独立目录也需要确保属于solr用户:sudo chown -R solr:solr /var/solr/data/mycore替换
mycore为你的核心名称,设置完后重启Solr:sudo service solr restart验证核心的pingHandler配置
进入核心的配置目录(比如/var/solr/data/mycore/conf/),打开solrconfig.xml,确认是否存在以下pingHandler配置:<requestHandler name="/admin/ping" class="solr.PingRequestHandler"> <lst name="invariants"> <str name="q">solrpingquery</str> </lst> <lst name="defaults"> <str name="echoParams">all</str> </lst> </requestHandler>如果这段配置被注释或缺失,手动添加后重启Solr即可。
查看Solr日志定位问题
如果以上步骤都没用,查看Solr日志找具体错误:tail -f /var/solr/logs/solr.log日志里会明确提示核心加载失败、权限不足或配置错误等信息。
内容的提问来源于stack exchange,提问作者Naga

