This question already has answers here:
Solr RequestHandler init failure
                                
                                    (2个答案)
                                
                        
                                4年前关闭。
            
                    
我已经将Solr的版本从3.5更新到4.1
我从apache tomcat(7)Web应用程序中删除了旧的war文件,并部署了apache-solr软件包中提供的新war文件。

尝试从Web浏览器访问solr时出现以下错误!

我只有一个核心(dbTrial)

Solr打开,但出现此错误。


SolrCore初始化失败
dbTrial:org.apache.solr.common.SolrException:org.apache.solr.common.SolrException:RequestHandler初始化失败
没有运行的SolrCores。
当前使用Solr Admin UI至少需要一个SolrCore。

无法从null / admin / system?wt = json加载环境信息。
该接口要求您通过在solrconfig.xml中添加以下配置来激活所有SolrCore中的管理请求处理程序:




你能帮我吗?我尝试添加指定的请求处理程序,但没有成功。

看来新版本的solr需要新格式的solrconfig文件。你能帮忙吗?谢谢!

日志如下:

????? ?????? 21, 2014 9:19:05 ? org.apache.solr.common.SolrException log
SEVERE: null:org.apache.solr.common.SolrException: RequestHandler init failure
at org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:168)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:657)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:566)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:850)
at org.apache.solr.core.CoreContainer.load(CoreContainer.java:534)
at org.apache.solr.core.CoreContainer.load(CoreContainer.java:356)
at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:308)
at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:107)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:277)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:103)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4624)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5281)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:842)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:958)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1599)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.solr.common.SolrException: Error loading class         'solr.DisMaxRequestHandler'
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:436)
at org.apache.solr.core.SolrCore.createInstance(SolrCore.java:469)
at org.apache.solr.core.SolrCore.createRequestHandler(SolrCore.java:540)
at org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:154)
... 25 more
Caused by: java.lang.ClassNotFoundException: solr.DisMaxRequestHandler
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.net.FactoryURLClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:420)
... 28 more

最佳答案

检查Solr日志,以获取关于Solr启动时问题所在的更好的错误-您可能会收到比在Admin界面中看到的错误消息更好的错误消息(这是在界面尝试执行以下操作时触发的错误访问Solr核心)。不加载core或requestHandler的原因将在日志文件中,而不是在UI生成的消息中。请记住,logging also changed at 4.3,如果您已经更新到4.10(我看到您写了4.1,但是如果您打算一路走下去(或意味着是4.10),则可能还必须配置日志记录)。

您还需要考虑"going from 3 to 4" document,该细节详细说明了对配置文件所做的更改(如solrconfig.xml changed a bit)。

更新资料
日志显示它正在抱怨加载“ solr.DisMaxRequestHandler”。它已被弃用了一段时间,并且已被删除-只需使用示例solrconfig.xml中的标准请求处理程序即可。

<requestHandler name="standard" class="solr.SearchHandler" default="true">
  <lst name="defaults">
    <str name="echoParams">explicit</str>
  </lst>
</requestHandler>

09-19 17:43