HTTP Status 500 - {msg=SolrCore 'collection1' is not available due to init failure: Could not load

HTTP Status 500 - {msg=SolrCore ‘collection1’ is not available due to init failure: Could not load conf for core

具体错误如下:
HTTP Status 500 - {msg=SolrCore ‘collection1’ is not available due to init failure: Could not load conf for core collection1: Error loading solr config from /usr/local/solr/collection1/conf/solrconfig.xml,trace=org.apache.solr.common.SolrException: SolrCore ‘collection1’ is not available due to init failure: Could not load conf for core collection1: Error loading solr config from /usr/local/solr/collection1/conf/solrconfig.xml at org.apache.solr.core.CoreContainer.getCore(CoreContainer.java:745) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:307) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070) at org.apache.coyote.AbstractProtocolAbstractConnectionHandler.process(AbstractProtocol.java:611)atorg.apache.tomcat.util.net.JIoEndpointAbstractConnectionHandler.process(AbstractProtocol.java:611) at org.apache.tomcat.util.net.JIoEndpointSocketProcessor.run(JIoEndpoint.java:314) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:615)atorg.apache.tomcat.util.threads.TaskThreadWorker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThreadWrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.solr.common.SolrException: Could not load conf for core collection1: Error loading solr config from /usr/local/solr/collection1/conf/solrconfig.xml at org.apache.solr.core.ConfigSetService.getConfig(ConfigSetService.java:66) at org.apache.solr.core.CoreContainer.create(CoreContainer.java:489) at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:255) at org.apache.solr.core.CoreContainer1.call(CoreContainer.java:249)atjava.util.concurrent.FutureTask.run(FutureTask.java:262)atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)atjava.util.concurrent.ThreadPoolExecutor1.call(CoreContainer.java:249) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:615) … 1 more Caused by: org.apache.solr.common.SolrException: Error loading solr config from /usr/local/solr/collection1/conf/solrconfig.xml at org.apache.solr.core.SolrConfig.readFromResourceLoader(SolrConfig.java:154) at org.apache.solr.core.ConfigSetService.createSolrConfig(ConfigSetService.java:80) at org.apache.solr.core.ConfigSetService.getConfig(ConfigSetService.java:61) … 7 more Caused by: java.io.IOException: Can’t find resource ‘solrconfig.xml’ in classpath or ‘/usr/local/solr/collection1/conf’ at org.apache.solr.core.SolrResourceLoader.openResource(SolrResourceLoader.java:362) at org.apache.solr.core.SolrResourceLoader.openConfig(SolrResourceLoader.java:308) at org.apache.solr.core.Config.(Config.java:117) at org.apache.solr.core.Config.(Config.java:87) at org.apache.solr.core.SolrConfig.(SolrConfig.java:167) at org.apache.solr.core.SolrConfig.readFromResourceLoader(SolrConfig.java:145) … 9 more ,code=500}

具体解决方法就是Tomcat/webapps/solr/WEB-INF/web.xml这个文件里配置没改过来。如下:
HTTP Status 500 - {msg=SolrCore 'collection1' is not available due to init failure: Could not load
如图标记出来的地方应该是放置solr服务器的solrhome的位置。
不过有的小伙伴改完之后还是不能成功的访问到solr页面。

然后网上步骤就是需要在solrhome下面新建一个solr.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8" standalone="true"?> 可是我这新建了之后还是不能访问到没办法,再回头看报错信息:

HTTP Status 500 - {msg=SolrCore 'collection1' is not available due to init failure: Could not load

仔细看这里是 /usr/local/solr/collection1/conf/solrconfig.xml 这出了问题,找不到这个。我们来到此目录下:
HTTP Status 500 - {msg=SolrCore 'collection1' is not available due to init failure: Could not load
于是我将web.xml中的路径明确了一下(以为我的solr的主要配置是在solrhome下面的solr文件夹下)HTTP Status 500 - {msg=SolrCore 'collection1' is not available due to init failure: Could not load
然后重启Tomcat,再次访问 http://ip:8080/solr
于是终于来到了这个期待的页面,(终于等到你,还好我没放弃。hh)
HTTP Status 500 - {msg=SolrCore 'collection1' is not available due to init failure: Could not load
希望能帮到跟我一样刚接触solr的小熊熊们!