连接ES的Java项目报Too many open files错误
2024-09-26 10:05:16
启动后查询open files 数量
lsof -p TOMCAT_PID | grep wc -l
结果大概是一千多,但是短短数小时后就会涨到8k以上,所以使用网上很多朋友通过执行ulimit -n或修改limits.conf文件增加系统允许打开文件的数量方法未能解决问题。
查看了一下log,发现报的几个异常都和ESClient有关系:
None of the configured nodes are available
见到这个异常,又去找博客,解决办法是初始化client时去掉cluster.name参数。但,问题依旧!
rejected execution (shutting down) on org.elasticsearch.transport.netty.NettyTransport$2@6ea6ba8d
org.elasticsearch.transport.NodeDisconnectedException
接着又见到了这两个异常,查询elasticsearch的连接数量竟然又上千条之多。于是问题定位到了,ES连接数过多。检查代码,每次查询和写入都执行了innitClient()和closeClient()方法,感觉不到有什么逻辑错误或忘记关闭连接的情况。
最后还是咨询了大神,一语道破天机:
于是我将client实例改成单例实现,完美的解决了问题O(∩_∩)O~。
另外大神还说了:
于是我又把去掉的cluster.name给加上了^_^
虽然问题解决了,但是不懂啥原理。有时间还是要研究一下文档~
最新文章
- ES6新特性概览
- 第一章-第十五题(谈谈你对压力的看法,以及怎么和别人合作, 帮助别人,把压力转化为动力,在互相帮助的环境中成长。)--By林培文
- 1Z0-053 争议题目解析304
- Struts2.3.15.1源码浅析
- [ASE]项目介绍及项目跟进——TANK BATTLE·INFINITE
- [Offer收割]编程练习赛3 - 题目3 : 智力竞赛
- JavaScript学习笔记——函数
- 某篇ctr预估ppt的链接
- node.js模块之fs文件系统
- 关于API的设计和需求抽象
- CSS学习笔记:利用border绘制三角形
- M方法
- 对Java中堆栈的解析
- aar上传maven库工具
- bootstrap学习总结
- windows10下安装mysql-8.0.15-winx64以及连接服务器过程中遇到的一些问题
- mybatis 根据参数映射对应模型
- 如何从现有版本1.4.8升级到element UI2.0.11
- 生产环境使用nginx做负载均衡配置的五种策略
- try catch和spring事务