【问题现象】
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环境部署与测试知识点详解 #### 一、Elasticsearch简介 Elasticsearch(简称ES)是一款基于Lucene的开源分布式全文检索引擎。它具备高扩展性、可分布式的特性,能够支持大规模数据的存储与检索。ES...
1. 集群节点与分片分配:Elasticsearch集群中每个节点上分配的分片数量应不超过三个,这是基于官方建议,以保证集群性能和稳定性。 2. Master选举机制:Elasticsearch通过Zen Discovery模块实现Master节点选举,...
Elasticsearch 集群中的节点分布和分片管理是面试中常见的问题。一个节点可以分配多个分片,但为了保持集群的稳定性和性能,通常建议每个节点不超过三个主分片。分片的数量在创建索引时指定,之后无法更改,因为这会...
- **配置JVM内存**: 修改`ES_HOME/bin/service/elasticsearch.conf`文件中的`set.default.ES_HEAP_SIZE`参数。 - **安装服务**: 执行`ES_HOME/bin/service/elasticsearch install`命令。 - **启动/停止/重启服务*...
### ElasticSearch基础知识与集群搭建详解 #### 一、ElasticSearch简介 ElasticSearch是一款基于Lucene的开源搜索引擎,提供分布式、实时的全文检索能力。它不仅能够处理大量的数据,而且具备高性能、高扩展性和...
- `storage: elasticsearch: clusterNodes`: 设置 Elasticsearch 集群节点地址,如 `10.10.20.198:9300,10.10.20.64:9300,10.10.20.63:9300`。 2. **启动 Collector 服务**: - 运行 `apache-skywalking-apm-...