ElasticSearch之文件描述符的数量

ElasticSearch在运行过程中,涉及大量文件的打开、关闭、读、写等操作。因此当ElasticSearch进程的文件描述符数量不足时可能导致丢失数据等故障现象。

因此为保障ElasticSearch正常运行,需保证ElasticSearch可以使用至少65535个文件描述符。

查看Linux系统当前用户的文件描述符的数量,命令如下:

shell 复制代码
ulimit -a

执行结果的样例,如下:

shell 复制代码
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15172
max locked memory       (kbytes, -l) 65536
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 15172
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

或者执行如下命令:

shell 复制代码
ulimit -n

执行结果的样例,如下:

shell 复制代码
1024

在启动ElasticSearch前,使用root用户指定文件描述符的数量,命令样例如下:

shell 复制代码
ulimit -n 65535
./bin/elasticsearch

使用root用户修改Linux系统的配置文件/etc/security/limits.conf,增加如下内容:

shell 复制代码
elasticsearch        hard    nofile           65535
elasticsearch        soft    nofile           65535

查看当前Elasticsearch进程的文件描述符的最大数量,命令如下:

shell 复制代码
curl -X GET "https://localhost:9200/_nodes/stats/process?filter_path=**.max_file_descriptors&pretty" --cacert $ES_HOME/config/certs/http_ca.crt -u "elastic:ohCxPH=QBE+s5=*lo7F9"

执行结果的样例,如下:

shell 复制代码
{
  "nodes" : {
    "aKgBu7LgS9a6iPYH8n2JPw" : {
      "process" : {
        "max_file_descriptors" : 1048576
      }
    }
  }
}

相关资料

相关推荐
杨云龙UP1 小时前
MySQL 8.0.x InnoDB 写入链路优化:Redo Log 与 Buffer Pool 扩容与缓冲区调优实战记录-20251029
linux·运维·数据库·sql·mysql
txzz88882 小时前
CentOS-Stream-10 系统安装之网络设置
linux·运维·服务器·网络·计算机网络·centos
qq_401700412 小时前
嵌入式Linux网口MAC地址修改
linux·运维·macos
Xの哲學3 小时前
Linux DRM 架构深度解析
linux·服务器·算法·架构·边缘计算
老王熬夜敲代码3 小时前
Linux的权限
linux
我是谁??3 小时前
Linux上检查U盘可读和修复
linux·运维·服务器
南棱笑笑生3 小时前
20251213给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时适配CTP触摸屏FT5X06
linux·c语言·开发语言·rockchip
杰克逊的日记3 小时前
怎么排查pod重启
linux·运维·服务器
一勺-_-4 小时前
.git文件夹
大数据·git·elasticsearch
hgz07104 小时前
JMeter性能压测执行与Linux环境部署
java·linux·jmeter