6

Solr の起動と実行に問題があるようです。こちらのガイドに従いました

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

すべてうまくいきましたが、現在、mysql からデータをインポートしようとしています。これを行うために、私はこのガイドに従っています

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

これをsolrconfig.xmlに追加するとエラーが発生します

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

これは私が得るエラーです。これを削除すると、solr は正常に動作しますが、もちろん mysql からインポートできません。

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}

私はCentosを実行しているため、最初のガイドを使用してsolrを起動して実行しています。2 番目のガイドは Ubuntu 用です。JDBC のインストールに関する最初のステップがあります。正しく行ったかどうかはわかりません。これが問題の一部であるかどうか疑問に思っています。

4

2 に答える 2

18

私はばかげた間違いを犯したことが判明しました。

上記のチュートリアルhttp://andres.jaimes.net/878/setup-lucene-solr-centos-tomcat/

コピーするように指示します

example/solr/ 

/home/solr

ただし、solr が提供するこの特定の例には、データインポートを処理するために必要なファイルが含まれていません。

これを修正するには:

1) solr インスタンス (/home/solr/lib) に「lib」フォルダーを作成します。

2) solr をダウンロードしたフォルダーから、 と をコピー/dist/solr-dataimporthandler-x.x.x.jarsolr-dataimporthandler-extras-x.x.x.jarます。両方を新しく作成した lib フォルダーに貼り付けます。

また、まだ持っていない場合は、このフォルダーに mysql-connector-java.jar があることを確認してください。

3) サーバーを再起動します。

于 2013-11-20T15:57:32.047 に答える