索引期间Solr连接超时?
Posted
技术标签:
【中文标题】索引期间Solr连接超时?【英文标题】:Solr connection timeout during indexing? 【发布时间】:2013-01-16 02:54:11 【问题描述】:我有无限超时的 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)
【问题讨论】:
您最终解决了这个问题吗? 【参考方案1】:我们在 Solr 4 上遇到了同样的问题。我们在阅读blog post by Uwe Schindler(Solr 提交者)后解决了这个问题。
使用 Solr 4 和几个 Solr 3 版本,您必须释放重要的 RAM 份额,以便系统可以正常使用 mmap system call。这可能很微妙,具体取决于您的系统配置(博客文章提供了大量关于这一点的信息)。在我们的例子中,这解决了问题:我们终于可以在没有任何超时问题的情况下建立索引。
【讨论】:
【参考方案2】:tomcat server.xml 配置的信息将解决这个问题。我们得到了相同的堆栈跟踪,下面为我们解决了它: http://forums.alfresco.com/ja/node/8458
【讨论】:
以上是关于索引期间Solr连接超时?的主要内容,如果未能解决你的问题,请参考以下文章
“kafka.zookeeper.ZooKeeperClientTimeoutException:等待连接超时”仅在列出主题期间