elasticsearch开启内存锁定

在elasticsearch配置文件中,如果没有修改bootstrap.memory_lock 参数的话,默认为false,会导致elasticsearch缓存的文件频繁的被交换出去,从而导致在查询过程中频繁的读取磁盘,磁盘IO很高。

如何开启内存锁定?
以下修改均是基于CentOS 7.3系统

官网地址:https://www.elastic.co/guide/en/elasticsearch/reference/7.3/setting-system-settings.html#limits.conf

第一步:修改elasticsearch配置文件

# 将此项配置注释打开,不打开注释的话,默认是false
bootstrap.memory_lock: true

第二步:修改系统内存限制
在/etc/security/limit.conf 文件添加配置,这里主要配置是memlock改为unlimited,可以指定elasticsearch用户,这里是全部用户。

*                hard    nofile          65536
*                soft    nofile          65536
*                hard    nproc           65536
*                soft    nproc           65536
*                hard    memlock         unlimited
*                soft    memlock         unlimited

第三步:修改系统配置
这一步很多文档是要求需改/etc/systemd/system.conf,而这里是根据官网配置方法:

# 创建elasticsearch的系统配置项,默认是不存在的
systemctl edit elasticsearch

# 默认文件为空,添加内容
[Service]
LimitMEMLOCK=infinity

# 重新加载单元,这一步不需要重启系统
sudo systemctl daemon-reload

第四步:重启elasticsearch

你可能感兴趣的:(ELK,elasticsearch,memory)