Solr错误 - > "无法分配请求的地址(连接失败)"在频繁调用Solr查询期间

时间:2018-04-04 04:53:54

标签: java solr solrj

我在端口8983上的Ubuntu系统上运行Solr 7.1。

每个核心包含8个核心和大约2亿个文档。我正在运行一个java代码,它同时对不同的内核进行solr查询。根据我的要求,它需要在一秒钟内调用10000个查询,并将持续3-4个小时。当我运行此代码时,它会在几秒钟后收到以下错误:

  

org.apache.solr.client.solrj.SolrServerException:服务器被拒绝   连接位于:http:// 10.*.*.*:8983 / solr / solr_core   

     

引起:org.apache.http.conn.HttpHostConnectException:连接到   10.*.*.*:8983 [/ 10.*.*.*:8983]失败:无法分配请求的地址   (连接失败)   
。   
造成:java.net.ConnectException:无法分配请求   地址(连接失败)

我已经探索过,如果我减少每秒查询次数或在间隔后给出一些延迟,它会在一定程度上解决我的问题。但是在运行此程序1小时后我仍然收到此错误。 因为我不是Solr的专家,所以我不知道它正在发生的任何限制。

1 个答案:

答案 0 :(得分:0)

可能你正在耗尽本地端口,如果你非常积极地打开新连接,AFAIK将由于保持活动配置。

我建议你看看SolrJ HttpClientUtil,这个类让你创建一个定义你自己的PoolingClientConnectionManager配置的客户端。