Elasticsearch出现Connection reset by peer

news2025/7/9 3:05:09

Elasticsearch出现Connection reset by peer分析

 

1.异常:

2024-06-13 13:17:10.539 WARN [http-nio-30411-exec-9]com.longdaotech.config.ESConfig -onFailure node:[host=http://192.168.239.253:9200]

2024/6/13 13:17:10 2024-06-13 13:17:10.541 WARN [http-nio-30411-exec-9]com.longdaotech.config.ESConfig -onFailure node:[host=http://192.168.239.249:9200]

2024/6/13 13:17:10 2024-06-13 13:17:10.542 WARN [http-nio-30411-exec-9]com.longdaotech.config.ESConfig -onFailure node:[host=http://192.168.239.67:9200]

2024/6/13 13:17:10 2024-06-13 13:17:10.543 ERROR [http-nio-30411-exec-9]com.longdaotech.front.modules.service.impl.GoodsSearchServiceImpl -{"monitorCode":"ESnull500601","message":"商品索引查询失败","contextContent":""}

2024/6/13 13:17:10 java.io.IOException: Connection reset by peer

2024/6/13 13:17:10 at org.elasticsearch.client.RestClient.extractAndWrapCause(RestClient.java:793)

2024/6/13 13:17:10 at org.elasticsearch.client.RestClient.performRequest(RestClient.java:218)

2024/6/13 13:17:10 at org.elasticsearch.client.RestClient.performRequest(RestClient.java:221)

2024/6/13 13:17:10 at org.elasticsearch.client.RestClient.performRequest(RestClient.java:221)

2024/6/13 13:17:10 at org.elasticsearch.client.RestClient.performRequest(RestClient.java:205)

2024/6/13 13:17:10 at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1454)

2024/6/13 13:17:10 at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1424)

2024/6/13 13:17:10 at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1394)

2024/6/13 13:17:10 at org.elasticsearch.client.RestHighLevelClient.search(RestHighLevelClient.java:930)

2024/6/13 13:17:10 at com.longdaotech.front.modules.service.impl.GoodsSearchServiceImpl.goodsSerarch(GoodsSearchServiceImpl.java:361)

2024/6/13 13:17:10 at com.longdaotech.front.modules.controller.GoodsSearchController.searchGoods(GoodsSearchController.java:107)

2024/6/13 13:17:10 at sun.reflect.GeneratedMethodAccessor326.invoke(Unknown Source)

2024/6/13 13:17:10 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

2.分析

  为什么服务端会关闭链接?

服务器会有TCP的Keepalive 经过一段时间如果没有操作就会自动断开连接功能,而ES默认就是取服务器的时长配置

linux查看超时时间默认为两小时

注:当ES服务端的keepAlive短于ES客户端的keepAlive,也会导致:服务端已经关闭了连接,客户端继续复用该连接,抛出异常。

3.解决

手动设置KeepAliveStrategy来配置keepAlive,保证客户端keepAlive小于服务端keepAlive,让客户端先于服务端关闭连接 

# 查看服务器超时时间(单位秒)
cat /proc/sys/net/ipv4/tcp_keepalive_time

默认是7200s

解决办法有两个,一是设置keepalive小于服务器的超时时间,这样HttpClient会自己断开连接,下次再重连,由于SpringBoot没有提供设置改属性的地方,配置起来有点小麻烦,可以参考以下链接

ES ElasticSearch Connection reset by peer问题解决_阿里巴巴首席技术官的博客-CSDN博客

方案二是发送心跳,下面贴出代码

@Scheduled(fixedRate = 60 * 1000 * 5)
public void heartbeatToES() {
    try {
        RequestOptions requestOptions = RequestOptions.DEFAULT.toBuilder().build();
        boolean result = restTemplate.getClient().ping(requestOptions);
        log.info("es状态: {}", result);
    } catch (Exception e) {

    }
}

方案二 设置ES服务端 tcp_keepalive_time时间大于等于客户端时间

https://blog.csdn.net/weixin_42195284/article/details/122399262








                        
ES ElasticSearch Connection reset by peer问题解决_es connection reset by peer-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1822121.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字孪生智慧机场:开启未来航空管理时代

利用图扑数字孪生技术打造智慧机场,实现全面数据监控与智能管理,优化航班调度、提升乘客体验,推动机场运营效率和安全性全面提升。

Node-Red和IOT-Tree中的消息流对软件开发的一点思考

上一篇文章IOT-Tree 1.7.0实现了一个类似Node-Red的流程功能中,我提到了如下文字内容: 通过这样的图形化编程机制把软件开发直接分成了两个层次。 1. 一个是应用层面,给用户、项目实施技术人员或维护人员能够在不需要掌握深入技术的前提下&am…

yolov10主要特点

在我们探讨YOLOv10之前,让我们回顾一下YOLO的发展历程。YOLO在实时目标检测领域一直是先驱,兼顾速度和准确性。从YOLOv1到YOLOv9,每个版本在架构、优化和数据增强方面都引入了显著的改进。然而,随着模型的发展,某些限制…

ShardingProxy5.2版本 安装部署,实现分库分表 读写分离等功能 和与springboot集成时遇到的些坑记录

安装与配置时的坑(版本5.2) 1 使用根据需求,如分库分表,读写分离等,修改相应的配置文件,重启服务就可以了2 配置后,连接错误,检查实际mysql节点是否开启了远程连接,GRAN…

ZYNQ7 Processing System IP核中PS侧Uart的用法

在ZYNQ7 Processing System IP核中集成的UART控制器是一个中全双工异步接收器和发送器,支持广泛的可编程波特率和I/O信号格式,可以适应自动奇偶校验生成和多主机检测模式。 UART操作由配置和模式寄存器控制。使用状态寄存器、中断状态寄存器和调制解调器…

C# WPF入门学习主线篇(十五)—— DockPanel布局容器

C# WPF入门学习主线篇(十五)—— DockPanel布局容器 欢迎来到C# WPF入门学习系列的第十五篇。在前几篇文章中,我们探讨了 Canvas、StackPanel 和 WrapPanel 布局容器及其使用方法。本篇博客将介绍另一种强大且常用的布局容器——DockPanel。…

【每日刷题】Day64

【每日刷题】Day64 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. LCP 67. 装饰树 - 力扣(LeetCode) 3. 1315. 祖父节点值为偶数的节点和 - 力…

求和路径00

题目链接 求和路径 题目描述 注意点 节点总数 < 10000节点的值可能是正数或负数路径不一定非得从二叉树的根节点或叶节点开始或结束&#xff0c;但是其方向必须向下(只能从父节点指向子节点方向) 解答思路 因为要求树的路径和&#xff0c;所以初始想到的是深度优先遍历…

手写轮播列表(最新) 轮播图 swiper

el-row版本: <template><div class="container-div" id="app"><div><!-- 头部开始--><div class="top1"><div class="content"><div class="list"><el-row :gutter=&quo…

二级造价师精选基础知识题库(含答案)

一.单项选择题: 1.大中型建设工程项目立项批准后&#xff0c;在工程开工前&#xff0c;应当由( )按照有关规定申请领取施工许可证。A.建设单位 B.施工单位 C.总承包单位 D.监理单位 2.建设单位申领建筑工程施工许可证后&#xff0c;既不开工又不申请延期或者超过延期时限的&a…

MySql出现的问题

1.在控制面吧输入mysql显示不是内部命令 2.找到mysql安装的目录,复制目录路径 3.打开系统属性设置环境变量中的Path将路径添加到里面 4.添加好以后将控制面板重新打开输入命令 2.解决安装mysql错误 导致多个mysql服务删除教程 1.用管理员身份打开cmd命令板 2.在…

14,15-EET/DHET Hypertension ELISA Kit--Detroit RD

用于14,15-EET/DHET测量的DH2与用于14,15-DHET测量的DH1相同。与DH2相比&#xff0c;与DH1的唯一区别是样品制备步骤&#xff08;而不是Elisa试剂盒&#xff09;&#xff0c;其中EET被化学改为DHET。 货号&#xff1a;DH2 名称&#xff1a;14,15-EET/DHET Hypertension ELISA…

Flutter 简化线程Isolate的使用

文章目录 前言一、完整代码二、使用示例1、通过lambda启动线程2、获取线程返回值3、线程通信4、结束isolate 总结 前言 flutter的线程是数据独立的&#xff0c;每个线程一般通过sendport来传输数据&#xff0c;这样使得线程调用没那么方便&#xff0c;本文将提供一种支持lambd…

Linux系统安全(用户、密码、grub引导密码、增加终端)

目录 系统安全 用户安全 密码安全 PAM认证 命令的历史 用户切换 命令的执行权限 grub引导密码 增加终端 系统安全 用户安全 命令 说明 chattr i /etc/passwd chattr&#xff1a;为文件添加特殊权限 i&#xff1a;指定文件设为不可修改&#xff0c;只有root用户能为…

职称申报总是不通过的五大原因,竟然在这里

职称评审每年都是有人通过&#xff0c;有人不能通过&#xff0c;而且有的人每年申报&#xff0c;但还是不通过&#xff0c;不通过其实都是有原因&#xff0c;抛开运气&#xff0c;有的人确实运气不好&#xff0c;不通过&#xff0c;这种没办法&#xff0c;但是大部分人申报没有…

海外仓系统选择方法:中小型海外仓怎么选到合适的wms系统?

对于中小型海外仓来说&#xff0c;本身的预算有限&#xff0c;所以要怎么选择一个合适的海外仓管理系统&#xff0c;并不是一件简单的事情。 这确实是一个重大的决定&#xff0c;它直接关系到后面海外仓的运营效率。今天我们会系统的介绍一下&#xff0c;中小型海外仓选择海外…

Base64 编码详解

文章目录 Base64 编码详解base64是什么base64原理base64变种为什么要base64编码 Base64 编码详解 base64是什么 Base64编码&#xff0c;是由64个字符组成编码集&#xff1a;26个大写字母AZ&#xff0c;26个小写字母az&#xff0c;10个数字0~9&#xff0c;符号“”与符号“/”…

【乐吾乐2D可视化组态编辑器】开关、阀门、报警状态切换

开关状态 开关的断开与闭合&#xff1a;将电力组件的“开”与“关”2个组件重叠在一起&#xff0c;右键选择“组合为状态”&#xff0c;属性面板中就可以任意切换状态。 视频教程&#xff1a;开关阀门多状态控制 乐吾乐2D可视化组态编辑器地址&#xff1a;https://2d.le5le.co…

详解 Spring Security:全面保护 Java 应用程序的安全框架

详解 Spring Security&#xff1a;全面保护 Java 应用程序的安全框架 Spring Security 是一个功能强大且高度可定制的框架&#xff0c;用于保护基于 Java 的应用程序。它为身份验证、授权、防止跨站点请求伪造 (CSRF) 等安全需求提供了解决方案。下面将更详细地介绍 Spring Se…

盲盒App开发时有哪些技术框架可以借鉴

在开发盲盒App时&#xff0c;技术框架的选择对于应用的性能、稳定性和用户体验都至关重要。以下是几个可以借鉴的技术框架&#xff0c;它们在不同方面提供了优势&#xff0c;并且结合了参考文章中的相关信息&#xff1a; 前端技术框架 微信小程序框架&#xff1a; 优点&#…