Tomcat Solr RequestHandler初始化失败

Tomcat Solr RequestHandler初始化失败,tomcat,solr,centos,Tomcat,Solr,Centos,我似乎在启动和运行solr时遇到了问题,我在这里遵循了指南 一切都进行得很顺利,但现在我正在尝试从mysql导入数据。为了做到这一点,我一直遵循这个指南 将其添加到solrconfig.xml时会出现错误 <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str

我似乎在启动和运行solr时遇到了问题,我在这里遵循了指南

一切都进行得很顺利,但现在我正在尝试从mysql导入数据。为了做到这一点,我一直遵循这个指南

将其添加到solrconfig.xml时会出现错误

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

data-config.xml
这就是我得到的错误。如果我删除它,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}
HTTP状态500-{msg=SolrCore'collection1'由于初始化失败而不可用:
RequestHandler初始化失败,trace=org.apache.solr.common.SolrException:SolrCore
“collection1”因初始化失败而不可用:位于的RequestHandler初始化失败
org.apache.solr.core.CoreContainer.getCore(CoreContainer.java:1212)位于
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:248)位于
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:155)位于
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.jav
a:235)在
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)位于
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)位于
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)位于
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)位于
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)位于
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)位于
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java
:588)在org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)的
java.lang.Thread.run(Thread.java:724)由以下原因引起:org.apache.solr.common.SolrException:
位于org.apache.solr.core.SolrCore.(SolrCore.java:821)的RequestHandler初始化失败
org.apache.solr.core.SolrCore.(SolrCore.java:618)位于
org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:949)位于
org.apache.solr.core.CoreContainer.create(CoreContainer.java:984)位于
org.apache.solr.core.CoreContainer$2.call(CoreContainer.java:597)位于
org.apache.solr.core.CoreContainer$2.call(CoreContainer.java:592)位于
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)位于
java.util.concurrent.FutureTask.run(FutureTask.java:166)位于
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)位于
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)位于
java.util.concurrent.FutureTask.run(FutureTask.java:166)位于
位于的java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)…1个以上
原因:org.apache.solr.common.SolrException:RequestHandler初始化失败
org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:168)位于
org.apache.solr.core.SolrCore.(SolrCore.java:758)…13更多原因:
org.apache.solr.common.SolrException:加载类时出错
“org.apache.solr.handler.dataimport.DataImportHandler”位于
org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:464)位于
org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:396)位于
org.apache.solr.core.SolrCore.createInstance(SolrCore.java:518)位于
org.apache.solr.core.SolrCore.createRequestHandler(SolrCore.java:592)位于
org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:154)。。。
14其他原因:java.lang.ClassNotFoundException:
org.apache.solr.handler.dataimport.DataImportHandler位于
java.net.URLClassLoader$1.run(URLClassLoader.java:366)位于
java.net.URLClassLoader$1.run(URLClassLoader.java:355)在
java.security.AccessController.doPrivileged(本机方法)位于
java.net.URLClassLoader.findClass(URLClassLoader.java:354)位于
loadClass(ClassLoader.java:424)位于
java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:789)位于
java.lang.Class.forName0(本机)中的java.lang.ClassLoader.loadClass(ClassLoader.java:357)
方法)在java.lang.Class.forName(Class.java:270)的
org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:448)…18更多信息
,代码=500}

我正在运行Centos,因此使用第一个指南来启动并运行solr。第二个指南是针对Ubuntu的,关于安装JDBC,有一个步骤就在开始处,我不确定我是否做对了。。我想知道这是否是问题的一部分。

您需要更改文件夹的权限:

sudo chmod -R 777 solr

结果我犯了一个愚蠢的错误

上面的教程

指示我们复制

example/solr/ 

除此之外,solr提供的这个特定示例不包含处理数据导入所需的文件

要解决此问题,请执行以下操作:

1) 在solr实例(/home/solr/lib)中创建一个“lib”文件夹

2) 从下载solr的文件夹中,复制
/dist/solr-dataimporthandler-x.x.jar
solr-dataimporthandler-extras-x.x.jar
。将两者粘贴到新创建的lib文件夹中

如果还没有,请确保此文件夹中有mysql-connector-java.jar


3) 重新启动服务器。

谢谢,哪个文件夹?Solr home。复制示例/solr的文件夹/*
/home/solr