【问题标题】:Solr 4.3.0 Http Status 500Solr 4.3.0 Http 状态 500
【发布时间】:2013-05-17 17:27:55
【问题描述】:

操作系统:Ubuntu 12.04

我刚刚将我的系统从使用 Solr 1.4 升级到 Solr 4.3.0,并且似乎无法让 MySQL 驱动程序工作(或者我怀疑)。 Solr 似乎工作正常(通过浏览器等访问它),直到我将以下行添加到 solrconfig.xml

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

将这些行添加到配置后,重新启动 Tomcat7 并刷新我的 localhost:8080/solr,我收到以下错误:

    HTTP Status 500 - {msg=SolrCore 'core01' is not available due to init failure: org/apache/solr/util/plugin/SolrCoreAware,trace=org.apache.solr.common.SolrException: 
    SolrCore 'core01' is not available due to init failure: org/apache/solr/util/plugin/SolrCoreAware at 

然后是一堆杂项。过滤器等。我只能通过浏览器看到此错误 - 我似乎无法在 Tomcat 的任何日志中找到它。

另外需要注意的是,我已经包含了所需的 JAR 文件:

    solr-dataimporthandler-extras-4.3.0.jar
    solr-dataimporthandler-4.3.0.jar

因为它们似乎没有附带 Solr 4.3.0 的下载

这个问题浪费了这么多时间,所以希望这里的人能伸出援手,看看哪里出了问题。

提前致谢!

编辑:

这就是我的 data-config.xml 的样子

    <?xml version="1.0" encoding="UTF-8"?>
    <dataConfig>
      <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/db_name" user="db_user" password="db_password" />
      <document>
        <entity name="table" query="SELECT * FROM table">
          <field column="id" name="id" />
          <field column="name" name="name" />
        </entity>
      </document>
    </dataConfig>

用真实数据替换明显的变量。

【问题讨论】:

  • 异常的完整堆栈跟踪是什么?您是否还在 solr 核心库中包含了 mysql 驱动程序 jar?

标签: java mysql ubuntu solr dataimporthandler


【解决方案1】:

查看DIHQuickStart page 并查看错误消息后,您可能希望从config 设置中删除路径,因为Solr 将在您首先定义DIH 的核心的conf 文件夹中查找默认。所以改成:

 <str name="config">data-config.xml</str>

【讨论】:

  • 感谢您的回复。删除绝对路径什么也没做。它不应该有所作为。即使重新启动Tomcat,我仍然有同样的错误。还有其他想法吗?
猜你喜欢
  • 2011-01-01
  • 2014-01-08
  • 2012-12-04
  • 2017-11-01
  • 2016-05-29
  • 2015-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多