linux下启动solr查询数据库报错
2017-03-29 09:41
471 查看
查询数据时出现下面的错误:
o.a.s.h.d.DocBuilder Exception while processing: goods document : SolrInputDocument(fields: []):org.apache.solr.handler.dataimport.DataImportHandlerException:
Unable to execute query: select * from goods Processing Document # 1
at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:69)
at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:327)
at org.apache.solr.handler.dataimport.JdbcDataSource.createResultSetIterator(JdbcDataSource.java:288)
at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:283)
at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:52)
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:244)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:475)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:414)
at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:329)
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:232)
at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:416)
at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:475)
at org.apache.solr.handler.dataimport.DataImporter.lambda$runAsync$0(DataImporter.java:458)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
在使用数据库时使用的是windows下的数据库,linux安装在虚拟机上,所以想要访问windows的数据库,data-config.xml配置中的数据库url要使用Windows的ip,不是localhost,可能每天ip还会变。
<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
<dataSource name="source1" type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.10.30:3306/solrtest" user="root" password="******" batchSize="-1" >
</dataSource>
<document>
<entity name="goods" pk="id" dataSource="source1"
query="select * from goods"
deltaImportQuery="select * from goods where id='${dih.delta.id}'"
deltaQuery="select id from goods where updateTime> '${dataimporter.last_index_time}'">
<field column="id" name="id"/>
<field column="name" name="name"/>
<field column="number" name="number"/>
<field column="updateTime" name="updateTime"/>
</entity>
</document>
</dataConfig>
o.a.s.h.d.DocBuilder Exception while processing: goods document : SolrInputDocument(fields: []):org.apache.solr.handler.dataimport.DataImportHandlerException:
Unable to execute query: select * from goods Processing Document # 1
at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:69)
at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:327)
at org.apache.solr.handler.dataimport.JdbcDataSource.createResultSetIterator(JdbcDataSource.java:288)
at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:283)
at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:52)
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:244)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:475)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:414)
at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:329)
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:232)
at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:416)
at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:475)
at org.apache.solr.handler.dataimport.DataImporter.lambda$runAsync$0(DataImporter.java:458)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
在使用数据库时使用的是windows下的数据库,linux安装在虚拟机上,所以想要访问windows的数据库,data-config.xml配置中的数据库url要使用Windows的ip,不是localhost,可能每天ip还会变。
<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
<dataSource name="source1" type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.10.30:3306/solrtest" user="root" password="******" batchSize="-1" >
</dataSource>
<document>
<entity name="goods" pk="id" dataSource="source1"
query="select * from goods"
deltaImportQuery="select * from goods where id='${dih.delta.id}'"
deltaQuery="select id from goods where updateTime> '${dataimporter.last_index_time}'">
<field column="id" name="id"/>
<field column="name" name="name"/>
<field column="number" name="number"/>
<field column="updateTime" name="updateTime"/>
</entity>
</document>
</dataConfig>
相关文章推荐
- 一个在linux下启动Tomcat报错的解决方案
- linux 启动mysql 数据库
- linux下mysql启动数据库失败
- linux下启动tomcat报错:The BASEDIR environment...
- linux系统中启动 数据库
- linux下如何在开启机器的时候自动启动数据库
- 在LINUX平台上手动创建数据库(oracle 10g)(在一个oracle服务器上启动两个实例)
- SQL SERVER 2005 由于默认排序规则造成多数据库查询报错的问题
- linux下启动tomcat报错:The BASEDIR environment...
- Linux下启动和关闭Oracle服务与数据库
- Linux下启动和关闭Oracle服务与数据库
- Linux下启动和关闭Oracle服务与数据库
- 如何在linux下启动和关闭ORCALE数据库
- linux下启动tomcat报错:The BASEDIR environment variable is not defined correctly解决方法
- 在Linux下用C语言操作数据库sqlite3(查询)
- Oracle 10g数据库在linux (red hat 5)上的自动启动配置方法详解
- Linux下启动关闭数据库
- 数据库随linux启动关闭(待验证)
- Linux 下设置oracle 11.2 数据库自动启动
- Linux 下设置oracle 11.2 数据库自动启动