0 0

solr:HttpSolrServer add出现IOException occured when talking to server at: .....10

首先 有一点是很奇怪的
同样的环境和代码 在我电脑上是会有以上问题的
结果我移动到同学电脑上 他那边可以正常运行通过

代码如下:
  	public static void index() throws SolrServerException, IOException {
		String url = "http://localhost:8080/solr";
		
		HttpSolrServer server = new HttpSolrServer(url);
		//server.setSoTimeout(3000); 
		SolrInputDocument doc = new SolrInputDocument();
		doc.addField("id", "10"); 
		doc.addField("name", "name10");
		doc.addField("content", "cold today10");
		
		server.add(doc);
		
		server.commit();
	}

抛出的异常如下:

org.apache.solr.client.solrj.SolrServerException: IOException occured when talking to server at: http://localhost:8080/solr
	at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:507)
	at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:199)
	at org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:118)
	at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:116)
	at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:102)
	at com.cc.solr.SolrDemo.index(SolrDemo.java:28)
	at com.cc.solr.SolrDemo.main(SolrDemo.java:46)
Caused by: org.apache.http.client.ClientProtocolException
	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:909)
	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)
	at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:395)
	... 6 more
Caused by: org.apache.http.client.NonRepeatableRequestException: Cannot retry request with a non-repeatable request entity.  The cause lists the reason the original request failed.
	at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:691)
	at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:522)
	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
	... 9 more
Caused by: java.net.SocketException: Software caused connection abort: socket write error
	at java.net.SocketOutputStream.socketWrite0(Native Method)
	at java.net.SocketOutputStream.socketWrite(Unknown Source)
	at java.net.SocketOutputStream.write(Unknown Source)
	at org.apache.http.impl.io.AbstractSessionOutputBuffer.flushBuffer(AbstractSessionOutputBuffer.java:147)
	at org.apache.http.impl.io.AbstractSessionOutputBuffer.flush(AbstractSessionOutputBuffer.java:154)
	at org.apache.http.impl.io.ChunkedOutputStream.close(ChunkedOutputStream.java:189)
	at org.apache.http.impl.entity.EntitySerializer.serialize(EntitySerializer.java:123)
	at org.apache.http.impl.AbstractHttpClientConnection.sendRequestEntity(AbstractHttpClientConnection.java:271)
	at org.apache.http.impl.conn.ManagedClientConnectionImpl.sendRequestEntity(ManagedClientConnectionImpl.java:197)
	at org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:257)
	at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
	at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:717)
	... 11 more



这还不是最奇怪的..我发现抛错的同时 服务器的console打印出了插入信息 但由于add那里抛错了 commit没有执行 所有没有被真正插入 于是我把add try catch了一下 错误信息也会显示但成功插入了
最后我设置了超时 代码成了这样:
	public static void index() throws SolrServerException, IOException {
		String url = "http://localhost:8080/solr";
		
		HttpSolrServer server = new HttpSolrServer(url);
		server.setSoTimeout(3000); 
		SolrInputDocument doc = new SolrInputDocument();
		doc.addField("id", "10"); 
		doc.addField("name", "name10");
		doc.addField("content", "cold today10");
		try{
		server.add(doc);
		}catch(Exception e){
			e.printStackTrace(); //time out
		}
		server.commit();
	}

报的异常是超时异常了 但依旧是成功插入了...
非常费解
看来服务端是收到了 但客户端没有得到响应(或者没有得到正常的响应)

这边的环境我试过Tomcat 7 Tomcat 8
solr因此也用过4.6 4.7.2 都是以上的状况

我移动到我同学那边的是Tomcat 6 solr4.7.2 他没问题

但看的视频中老师用的是4.6的solr和Tomcat8 没有问题

出问题的感觉就是我的电脑.... ...
2014年5月10日 20:17

1个答案 按时间排序 按投票排序

0 0

检查下你JDK 环境。。IDE 的配置环境

2014年5月10日 23:34

相关推荐

    solr.war包solr.war包solr.war包solr.war包solr.war包

    solr.warsolr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包...

    Apache.Solr.4.Enterprise.Search.Server.3rd.Edition.1782161368.epub

    If you are a developer who wants to learn how to get the most out of Solr in your applications, whether you are new to the field of search or have used Solr but don t know everything or simply want a ...

    Apache.Solr.Search.Patterns.1783981849

    This book is for developers who already know how to use Solr and are looking at procuring advanced strategies for improving their search using Solr. This book is also for people who work with ...

    Packtpub.Solr.1.4.Enterprise.Search.Server.Aug.2009

    《Packtpub.Solr.1.4.Enterprise.Search.Server.Aug.2009》是一本专注于Solr 1.4的企业搜索服务器构建的专著。这本书详细介绍了如何利用Solr来创建高效、可扩展的搜索解决方案,适用于各种规模的企业。Solr是Apache ...

    EasyNet.Solr.dll

    EasyNet.Solr.dll 4.4.0

    node-solr:Node.js 的 Solr 模块

    Node.js 的 Solr 模块参考Node.js: : Solr: : 使用npm test运行测试。 如果您没有在 127.0.0.1:8983 上运行 Solr,请编辑“test/common.js”。使用示例请参阅使用测试。 这是一个快速示例: var solr = require ( ...

    easynet.solr开发与使用

    在实际开发过程中,Easynet.Solr还提供了完整的解决方案文件(EasyNet.Solr.sln),这包含了项目的全部源码和配置,方便开发者进行二次开发和定制。同时,ClientDemo示例项目展示了如何使用Easynet.Solr进行基本操作...

    Solr可视化工具Explain.solr.pl.zip

    Explain.solr.pl 是一个 Solr 的可视化工具,用来帮助你分析为什么一个文档会出现在搜索结果列表中。 支持 Solr: 3.0 3.1 3.2 3.3 3.4 3.5 标签:Explain

    apache-atlas-2.1.0-server.tar.gz 不含hbase和solr

    在Apache Atlas 2.1.0版本中,服务器组件的压缩包`apache-atlas-2.1.0-server.tar.gz`提供了一个核心的服务框架,用于构建和维护数据治理解决方案,但值得注意的是,这个版本不含HBase和Solr这两个关键组件。...

    solr笔记solr笔记

    Solr笔记 Solr 是 Apache 下的一个项目,是使用 Java 开发的,全文搜索服务器。Solr 是基于 Lucene 的,它可以独立运行,独立对外提供搜索和索引服务。Solr 提供了一个灵活的全文搜索解决方案,可以满足各种搜索...

    solrconfig.xml和schema.xml说明

    - **定义**:`${solr.data.dir:d:/Server/Solr/data}</dataDir>` 这个节点定义了索引数据和日志文件的存放位置。默认情况下,如果没有指定其他路径,则会使用 `d:/Server/Solr/data` 作为存储路径。这对于部署和管理...

    solr

    - `org.apache.solr.client.solrj.response.QueryResponse`:封装查询响应结果的类。 - `org.apache.solr.common.SolrDocumentList`:存储文档列表的容器。 - `org.apache.solr.common.SolrDocument`:表示单个文档...

    solr -8.11.1.zip 文件

    solr -8.11.1.zip 文件

    solr文档.docx

    - 修改每台Solr服务器的`solr.in.sh`文件,添加以下行以指定ZooKeeper服务器地址: ``` SOLR_JAVA_MEM=-Xms512m -Xmx512m ZK_HOST=192.168.172.128:2181,192.168.172.129:2181,192.168.172.130:2181 ``` **4. ...

    java8看不到源码-ansible-role-solr:yauh.solr-用于设置Solr的Ansible角色

    看不到源码Solr 引导程序 设置 Solr 搜索平台的 Ansible 角色 要求 系统上需要有Java,推荐角色yauh.java8。 角色变量 以下变量可与 solr 角色一起使用: solr_source: http://apache.openmirror.de/lucene/solr # ...

    Relevant.Search.With.applications.for.Solr.and.Elasticsearch

    For developers trying to build smarter search with Elasticsearch or Solr. About the Authors Doug Turnbull is lead relevance consultant at OpenSource Connections, where he frequently speaks and blogs....

Global site tag (gtag.js) - Google Analytics