0

我们有 solr 路由器和分片。在对所有分片进行分面搜索时,这会出现在路由器的码头日志中。

org.apache.commons.httpclient.HttpMethodDirector executeWithRetry 
INFO: I/O exception (java.net.SocketException) caught when processing request: Connection reset by peer: socket write error 
org.apache.commons.httpclient.HttpMethodDirector executeWithRetry 
INFO: Retrying request 

其次是有关内部服务器错误的异常。我们运行分布在多个服务器上的 80 个分片。路由器在自己的节点上运行。

UPD:在 SOLR 的 HttpCommComponent 类中,它使用 HttpClient 类将请求汇总到分片中,我注意到 MultiThreadedHttpConnectionManager 上的以下设置:mgr.getParams().setDefaultMaxConnectionsPerHost(20);

在我看来,80 多个碎片的设置太少了。

4

1 回答 1

0

经过更多调试后,我发现其中一个请求的大小为 4.4MB。tomcat6 中的默认 maxPostSize 为 2MB ( http://tomcat.apache.org/tomcat-6.0-doc/config/ajp.html )。

将其更改为 10MB 极大地改善了 solr 方面的情况。

于 2013-05-03T16:39:03.867 回答