一、问题现象
随着ES的密集使用,线上环境,不同应用最近几天陆续有报java.io.IOException: Connection reset by peer异常,感觉不太正常。直接影响就是用户查询或者变更ES数据失败。
java.io.IOException: Connection reset by peer
at org.elasticsearch.client.RestClient.extractAndWrapCause(RestClient.java:828)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:248)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:251)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:235)
at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1514)
at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1484)
at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1454)
at org.elasticsearch.client.RestHighLevelClient.bulk(RestHighLevelClient.java:497)
二、问题分析
1、客户端的KeepAlive
首先网上查了一番并结合源码分析

本文深入探讨了Elasticsearch客户端在长时间未操作后出现的java.io.IOException:Connectionresetbypeer异常原因。通过分析Linux服务器TCP的Keepalive机制,提出了解决方案,包括调整客户端KeepAlive策略及异常重试机制。
最低0.47元/天 解锁文章
1万+





