索引期间Solr连接超时?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了索引期间Solr连接超时?相关的知识,希望对你有一定的参考价值。

我有无限超时的solrj客户端(Solr4)

server.server.setSoTimeout(0)
server.server.setConnectionTimeout(0)

当我索引数据时,我在服务器端有很多超时。我在哪里可以更新solrconfig.xml中的服务器端超时或可能的tomcat配置?

客户端异常:

Caused by: java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)

服务器端异常:

 Jan 31, 2013 8:55:54 PM org.apache.solr.common.SolrException log
    SEVERE: org.apache.solr.common.SolrException: Read timed out
        at org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:159)
        at org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:92)
        at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:74)
        at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1699)
Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:751)
答案

tomcat server.xml配置的信息将解决这个问题。我们有相同的堆栈跟踪,下面为我们解决了它:http://forums.alfresco.com/ja/node/8458

另一答案

我们遇到了与Solr 4相同的问题。我们在阅读了blog post by Uwe Schindler(Solr委员会)后解决了这个问题。

使用Solr 4和几个Solr 3版本,您必须释放一大部分RAM,以便系统可以正确使用mmap system call。这可能很微妙,具体取决于您的系统配置(博客文章提供了有关该点的大量信息)。在我们的例子中,这解决了问题:我们最终可以在没有任何超时问题的情况下进行索引

以上是关于索引期间Solr连接超时?的主要内容,如果未能解决你的问题,请参考以下文章

处理 Solr 读写超时异常

solr分布式索引实战分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例

solr 学习片段

错误代码:2013。查询期间丢失与 MySQL 服务器的连接

错误代码:2013。查询期间丢失与 MySQL 服务器的连接

Hue, Solr - 搜索词的自动填充