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
      }
    }
  }
}

相关资料

相关推荐
爱吃甜品的糯米团子12 分钟前
Linux 学习笔记之进程管理、网络基础与常用软件安装
linux·网络·学习
Micro麦可乐13 分钟前
Centos Stream 9 中Docker安装出现 download.docker.com:443 的问题解决
linux·docker·centos·podman
poemyang1 小时前
你的程序为何卡顿?从LINUX I/O三大模式寻找答案
linux·rpc
---学无止境---1 小时前
Linux中早期控制台初始化和注册的实现
linux
撬动未来的支点1 小时前
DMABUF 核心概念:Linux 的“共享白板”机制
linux
今麦郎xdu_2 小时前
【Linux系统】命令行参数和环境变量
linux·服务器·c语言·c++
还不秃顶的计科生2 小时前
linux下conda未安装的解决方法(离线安装linux下的conda)
linux·运维·服务器
DeeplyMind3 小时前
Linux的Dynamic debug功能
linux·dynamic debug
LJ-SEU3 小时前
win-ubuntu网络转发
linux·网络·ubuntu
QT 小鲜肉3 小时前
【个人成长笔记】在Ubuntu中的Linux系统安装 anaconda 及其相关终端命令行
linux·笔记·深度学习·学习·ubuntu·学习方法