2014-11-21 137 views
1

我已經將我的Solr版本從3.5更新到4.1 我已經從我的apache tomcat(7)webapps中刪除了舊的war文件,並部署了新的war文件,該文件已經在apache- solr包。Solr 4.1核心初始化失敗

嘗試從Web瀏覽器訪問solr時出現以下錯誤!

我有一個核心只(dbTrial)

Solr的打開,但出現此錯誤。

enter image description here 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中激活所有SolrCores管理員請求處理程序:

你能幫助我嗎?我已經嘗試添加指定的請求處理程序,但它不起作用。

看來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 

回答

0

檢查Solr的日誌時的Solr啓動時的問題是什麼更好的錯誤 - 你可能有一個更好的錯誤消息,有一個比你可以在Admin界面中看到(這是接口嘗試訪問Solr內核時觸發的錯誤)。核心或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> 
+0

我已添加日誌可以請您協助! @MatsLindh – Ghassan 2014-11-21 08:43:31