欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ElasticSearch集群中client节点出现ping不通,不可访问问题 Luceneelasticsearchjavajvmopenfile 

程序员文章站 2024-03-18 19:24:46
...
【问题现象】
ElasticSearch集群中client节点,访问几天后,出现client所在主机ping不通,通过vm管理机查看,发现主机在运行但黑屏,而且登录不进去。
【问题分析】
1、主机ping不通,刚开始考虑是否是网络不通或者主机down掉。通过vm管理连接,登录不进去,排除网络原因,因为vm管理机登录vm不需要网络

2、配置core文件生成
=>ulimit -c => 限制生成core文件大小 =>unlimited
=>/proc/sys/kernel/core_pattern =>core文件格式
=>/proc/sys/kernel/core_uses_pid =>是否带pid
3、开启core日志后,发现core文件也是空的
/////////begin///////
#find / -name *.out
/etc/rc.d/init.d/a.out
# ll /etc/rc.d/init.d/a.out
-rw-r--r--. 1 root root 0 9月   2 10:29 /etc/rc.d/init.d/a.out
/////////end/////////

4、查看lsof -p <es_id> |wc -l =>数量正常,不大

5、查看lsof |wc -l=>数量很大
# lsof |wc -l
362965

6、再次分析,查看运行es的用户打开的文件句柄数
# lsof |grep user_es |wc -l
360197

7、之前配置了soft limit
# cat /etc/security/limits.conf
user_es soft memlock unlimited
user_es hard memlock unlimited

【解决】
通过上面的分析,基本可以推测出,原因是elasticsearch打开的文件句柄数越来越多,
导致操作系统资源耗尽,不能再开启新的文件句柄,这种情况下,登录,ping等都不好使
目前,先通过定时重启client所在的节点,在crontab配置定时命令【0 2 * * * reboot】

【Tip】
频繁的文档更改操作会导致大量的小索引段,从而导致文件句柄打开过多的问题。
注意下ElasticSearch的段合并策略,默认是index.merge.policy.type:tiered,可选策略有:log_byte_size,log_doc

【参考】
https://www.elastic.co/guide/en/elasticsearch/guide/current/merge-process.html

【温馨提示】
如果您觉得满意,可以选择支持下,您的支持是我最大的动力:

ElasticSearch集群中client节点出现ping不通,不可访问问题
            
    
    
        Luceneelasticsearchjavajvmopenfile