2013-10-02 10 views
6

Ich scheine solr Probleme zu haben und zu laufen, folgte ich den Führer hierSolr Request init Ausfall

http://andres.jaimes.net/878/setup-lucene-solr-centos-tomcat/

alles gut gegangen, aber jetzt versuche ich Daten aus MySQL zu importieren. Um dies zu tun Ich verfolge dieses Führungs

http://www.wheelsandcogs.co.uk/2011/01/13/solr-tomcat-mysql-ubuntu/

Der Fehler kommt, wenn ich das meinem solrconfig.xml hinzufügen

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
    <lst name="defaults"> 
    <str name="config">data-config.xml</str> 
    </lst> 
</requestHandler> 

Dies ist der Fehler, den ich bekommen. Wenn ich das entferne, läuft solr gut, aber ich kann natürlich nicht von mysql importieren.

HTTP Status 500 - {msg=SolrCore 'collection1' is not available due to init failure: 
RequestHandler init failure,trace=org.apache.solr.common.SolrException: SolrCore 
'collection1' is not available due to init failure: RequestHandler init failure at 
org.apache.solr.core.CoreContainer.getCore(CoreContainer.java:1212) at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:248) at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:155) at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.jav 
a:235) at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857) at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java 
:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at 
java.lang.Thread.run(Thread.java:724) Caused by: org.apache.solr.common.SolrException: 
RequestHandler init failure at org.apache.solr.core.SolrCore.<init>(SolrCore.java:821) at 
org.apache.solr.core.SolrCore.<init>(SolrCore.java:618) at 
org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:949) at 
org.apache.solr.core.CoreContainer.create(CoreContainer.java:984) at 
org.apache.solr.core.CoreContainer$2.call(CoreContainer.java:597) at 
org.apache.solr.core.CoreContainer$2.call(CoreContainer.java:592) at 
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at 
java.util.concurrent.FutureTask.run(FutureTask.java:166) at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at 
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at 
java.util.concurrent.FutureTask.run(FutureTask.java:166) at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ... 1 more 
Caused by: 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:758) ... 13 more Caused by: 
org.apache.solr.common.SolrException: Error loading class 
'org.apache.solr.handler.dataimport.DataImportHandler' at 
org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:464) at 
org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:396) at 
org.apache.solr.core.SolrCore.createInstance(SolrCore.java:518) at 
org.apache.solr.core.SolrCore.createRequestHandler(SolrCore.java:592) at 
org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:154) ... 
14 more Caused by: java.lang.ClassNotFoundException: 
org.apache.solr.handler.dataimport.DataImportHandler at 
java.net.URLClassLoader$1.run(URLClassLoader.java:366) at 
java.net.URLClassLoader$1.run(URLClassLoader.java:355) at 
java.security.AccessController.doPrivileged(Native Method) at 
java.net.URLClassLoader.findClass(URLClassLoader.java:354) at 
java.lang.ClassLoader.loadClass(ClassLoader.java:424) at 
java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:789) at 
java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native 
Method) at java.lang.Class.forName(Class.java:270) at 
org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:448) ... 18 more 
,code=500} 

Ich benutze Centos, daher benutze die erste Anleitung, um solr zum Laufen zu bringen. Die zweite Anleitung ist für Ubuntu, es gibt einen Schritt nahe am Anfang der Installation der JDBC, ich bin mir nicht sicher, ob ich es richtig gemacht habe. Ich frage mich, ob dies ein Teil des Problems sein könnte.

Antwort

18

Es stellt sich heraus, dass ich einen dummen Fehler gemacht.

Das Tutorial über http://andres.jaimes.net/878/setup-lucene-solr-centos-tomcat/

beauftragt uns

example/solr/ 

zu

/home/solr 

Außer diesem speziellen Beispiel durch solr vorgesehen kopieren enthält nicht die notwendigen Dateien dataimports zu handhaben.

dies zu beheben:

1) Erstellen Sie einen 'lib' Ordner in Ihrer solr Instanz (/ home/Solr/lib)

2) aus dem Ordner, in dem Sie solr zu heruntergeladen hat, kopiert /dist/solr-dataimporthandler-x.x.x.jar und solr-dataimporthandler-extras-x.x.x.jar. Fügen Sie beide in Ihren neu erstellten lib-Ordner ein.

Vergewissern Sie sich auch, dass Sie mysql-connector-java.jar in diesem Ordner haben, falls Sie dies noch nicht getan haben.

3) Starten Sie den Server neu.

+0

danke !! es funktioniert gut für mich. – HCarrasko

-1

Sie benötigen die Erlaubnis des Ordners zu ändern:

sudo chmod -R 777 solr 
+0

Danke, welcher Ordner? –

+0

Solr nach Hause. Der Ordner, wo Sie das Beispiel kopieren/solr/* – Sudheera