solr java.net.NoRouteToHostException: Cannot assign requested address 错误

来源:互联网 发布:深圳玛歌品牌淘宝有吗 编辑:程序博客网 时间:2024/06/05 00:39

使用solrj对solr cloud建索引时,发生Cannot assign requested address异常

Caused by: java.net.NoRouteToHostException: Cannot assign requested address        at java.net.PlainSocketImpl.socketConnect(Native Method)        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)        at java.net.Socket.connect(Socket.java:529)        at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:127)        at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)        at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)        at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:640)        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479)        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)        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)        ... 9 more

google之后发现是存在大量TIME_WAIT导致端口被用尽了,详情见

http://qa.blog.163.com/blog/static/1901470022011822105451572/

http://www.speedguide.net/articles/linux-tweaking-121


修改了

net.ipv4.tcp_syncookies = 1  (某些情况下该参数已启用)
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30

四个参数后,回复正常。

修改方式也可参照

http://www.frontopen.com/1219.html



0 0