我正在运行一个数据库,用作将数据导入Solr的源。当我运行命令:curl“ http:// localhost:8983 / solr / dataimport?command = full-import&commit = true”时,提交失败,实例执行回滚。您能帮我弄清楚吗?

这是异常堆栈:


    Jan 27, 2012 4:02:32 PM org.apache.solr.handler.dataimport.DataImporter doFullImport
    INFO: Starting Full Import
    Jan 27, 2012 4:02:32 PM org.apache.solr.core.SolrCore execute
    INFO: [] webapp=/solr path=/dataimport params={command=full-import&commit=true} status=0 QTime=0
    Jan 27, 2012 4:02:32 PM org.apache.solr.handler.dataimport.SolrWriter readIndexerProperties
    INFO: Read dataimport.properties
    Jan 27, 2012 4:02:32 PM org.apache.solr.update.DirectUpdateHandler2 deleteAll
    INFO: [] REMOVING ALL DOCUMENTS FROM INDEX
    Jan 27, 2012 4:02:32 PM org.apache.solr.core.SolrDeletionPolicy onInit
    INFO: SolrDeletionPolicy.onInit: commits:num=1
      commit{dir=/private/var/www/html/internsolr/solr/example/solr/data/index,segFN=segments_21,version=1320251100987,generation=73,filenames=[segments_21]
    Jan 27, 2012 4:02:32 PM org.apache.solr.core.SolrDeletionPolicy updateCommits
    INFO: newest commit = 1320251100987
    Jan 27, 2012 4:02:32 PM org.apache.solr.handler.dataimport.JdbcDataSource$1 call
    INFO: Creating a connection for entity id with URL: jdbc:mysql://localhost:3306/internshipsearch
    Jan 27, 2012 4:02:32 PM org.apache.solr.common.SolrException log
    SEVERE: Exception while processing: id document : SolrInputDocument[{}]:org.apache.solr.handler.dataimport.DataImportHandlerException:

  
  无法执行查询:选择响应,
  名,姓,
  cmc_email_address,毕业年份,
  first_major,additional_major,
  顺序,other_major,
  Organization_name,organization_website,
  organization_desc,行业,
  job_title,部门,
  市,州,
  国家,地区,
  实习工资,小时工资,
  再次承诺,
  雇主主管,雇主电话,
  雇主电子邮件,not_recommended_desc,
  full_time_offer,full_time_accept,
  Attend_summer_classes,
  summer_classes_institution,
  summer_classes_desc,summer_travel,
  summer_travel_city,summer_travel_state,
  summer_travel_country,
  summer_other_activity,
  summer_other_activity_desc,如何发现,
  doe_start_month,doe_start_day,
  doe_end_month,doe_end_day来自
  内部数据处理文档#1
            在org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:72)
            在org.apache.solr.handler.dataimport.JdbcDataSource $ ResultSetIterator。(JdbcDataSource.java:253)
            在org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:210)
            在org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:39)
            在org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:59)
            在org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)
            在org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:238)
            在org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:596)
            在org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:268)
            在org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:187)
            在org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:359)
            在org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:427)
            在org.apache.solr.handler.dataimport.DataImporter $ 1.run(DataImporter.java:408)
          引起原因:com.mysql.jdbc.CommunicationsException:由于基础异常导致通信链接失败:

    ** BEGIN NESTED EXCEPTION **

    java.net.SocketException
    MESSAGE: java.net.ConnectException: Connection refused

    STACKTRACE:

    java.net.SocketException: java.net.ConnectException: Connection refused
      at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
      at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
      at com.mysql.jdbc.Connection.createNewIO(Connection.java:2666)
      at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
      at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
      at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:161)
      at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:128)
      at org.apache.solr.handler.dataimport.JdbcDataSource.getConnection(JdbcDataSource.java:363)
      at org.apache.solr.handler.dataimport.JdbcDataSource.access$200(JdbcDataSource.java:39)
      at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:240)
      at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:210)
      at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:39)
      at org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:59)
      at org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)
      at org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:238)
      at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:596)
      at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:268)
      at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:187)
      at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:359)
      at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:427)
      at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:408)


    ** END NESTED EXCEPTION **



    Last packet sent to the server was 0 ms ago.
      at com.mysql.jdbc.Connection.createNewIO(Connection.java:2741)
      at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
      at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
      at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:161)
      at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:128)
      at org.apache.solr.handler.dataimport.JdbcDataSource.getConnection(JdbcDataSource.java:363)
      at org.apache.solr.handler.dataimport.JdbcDataSource.access$200(JdbcDataSource.java:39)
      at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:240)
      ... 11 more

    Jan 27, 2012 4:02:32 PM org.apache.solr.common.SolrException log
    SEVERE: Full Import failed:org.apache.solr.handler.dataimport.DataImportHandlerException:

  
  无法执行查询:选择响应,
  名,姓,
  cmc_email_address,毕业年份,
  first_major,additional_major,
  顺序,other_major,
  Organization_name,organization_website,
  organization_desc,行业,
  job_title,部门,
  市,州,
  国家,地区,
  实习工资,小时工资,
  再次承诺,
  雇主主管,雇主电话,
  雇主电子邮件,not_recommended_desc,
  full_time_offer,full_time_accept,
  Attend_summer_classes,
  summer_classes_institution,
  summer_classes_desc,summer_travel,
  summer_travel_city,summer_travel_state,
  summer_travel_country,
  summer_other_activity,
  summer_other_activity_desc,如何发现,
  doe_start_month,doe_start_day,
  doe_end_month,doe_end_day来自
  内部数据处理文档#1
            在org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:72)
            在org.apache.solr.handler.dataimport.JdbcDataSource $ ResultSetIterator。(JdbcDataSource.java:253)
            在org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:210)
            在org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:39)
            在org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:59)
            在org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)
            在org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:238)
            在org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:596)
            在org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:268)
            在org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:187)
            在org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:359)
            在org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:427)
            在org.apache.solr.handler.dataimport.DataImporter $ 1.run(DataImporter.java:408)
          引起原因:com.mysql.jdbc.CommunicationsException:由于基础异常导致通信链接失败:

    ** BEGIN NESTED EXCEPTION **

    java.net.SocketException
    MESSAGE: java.net.ConnectException: Connection refused

    STACKTRACE:

    java.net.SocketException: java.net.ConnectException: Connection refused
      at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
      at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
      at com.mysql.jdbc.Connection.createNewIO(Connection.java:2666)
      at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
      at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
      at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:161)
      at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:128)
      at org.apache.solr.handler.dataimport.JdbcDataSource.getConnection(JdbcDataSource.java:363)
      at org.apache.solr.handler.dataimport.JdbcDataSource.access$200(JdbcDataSource.java:39)
      at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:240)
      at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:210)
      at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:39)
      at org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:59)
      at org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)
      at org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:238)
      at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:596)
      at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:268)
      at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:187)
      at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:359)
      at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:427)
      at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:408)


    ** END NESTED EXCEPTION **



    Last packet sent to the server was 0 ms ago.
      at com.mysql.jdbc.Connection.createNewIO(Connection.java:2741)
      at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
      at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
      at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:161)
      at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:128)
      at org.apache.solr.handler.dataimport.JdbcDataSource.getConnection(JdbcDataSource.java:363)
      at org.apache.solr.handler.dataimport.JdbcDataSource.access$200(JdbcDataSource.java:39)
      at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:240)
      ... 11 more

    Jan 27, 2012 4:02:32 PM org.apache.solr.update.DirectUpdateHandler2 rollback
    INFO: start rollback
    Jan 27, 2012 4:02:32 PM org.apache.solr.update.DirectUpdateHandler2 rollback
    INFO: end_rollback

最佳答案

这只是一个连接错误,因此请在Solr中的data-config.xml文件的开头检查数据源。这可能只是简单的事情,例如错误的URL,不正确的凭据,忘记在URL中放入数据库名称等。确保可以从Solr服务器ping数据库服务器。

数据源标签应如下所示:

<dataSource type="JdbcDataSource"
  driver="com.mysql.jdbc.Driver"
  url="jdbc:mysql://database.server.com/database-name"
  user="user"
  password="pass"
  name="datasource-name" />


并且data-config.xml中的实体应该没有指定数据源(如果文件中只有一个),或者如果有多个,则应该指定要使用的数据源的名称。

祝好运!

关于java - Solr报告:运行导入时“连接被拒绝”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9041722/

10-11 02:18