【服务器安全管理系统】【云中心】elasticsearch服务因操作系统进程数限制而自动停止的故障处理

Jack发表于:2020年09月15日 11:33:42更新于:2020年09月15日 12:09:27

适配版本


产品:服务器安全管理系统,WSSSR

版本:版本无关

平台:Linux

关键字

关键报错信息:“ES进程自动停止”   、“安全日志无法显示”、ES服务log日志报错“java.lang.OutOfMemoryError: unable to create new native thread”

问题描述


前端web界面无法查看事件回溯和安全日志,后台查看服务状态,发现elasticsearch服务停止了,手动重启es服务后没多久又停止了。


报错信息


登录云中心主机后,执行checkps.sh服务检测脚本,发现ES服务为0,图示:

image.png

查看ES服务log日志(路径:/data/elastic/to/logs/yunsuo-application.log),发现ERROR信息,如图:

image.png


问题原因分析


通过ES服务log文件,确认原因是:es运行的线程数超过了操作系统限制的4096值,导致无法创建本地线程。

因为es服务是captain用户启动的,而操作系统最多可创建线程数为4096,图示:

image.png


解决方案


修改操作系统最大可创建线程数值为10240。

1.vim /etc/security/limits.d/90-nproc.cond    将4096改为10240,保存退出。图示:

image.png

2.停止运行的ES,重新启动:su -s /bin/bash captain -c '/usr/local/elasticsearch-5.6.2/bin/elasticsearch -d'


备注:V7.2.1.0版本部署手册中已明确补充该配置参数,安装部署时请按照相关手册操作。

image.png