系统环境
- Elasticsearch版本:7.6.2,安装方式为:rpm
- OS版本:CentOS Linux release 8.1.1911 (Core)
修改配置
# 安装之后系统默认配置文件位置: vim /etc/elasticsearch/elasticsearch.yml # 修改 bootstrap.memory_lock: true
修改完成后,此时启动系统会报错:memory locking requested for elasticsearch process but memory is not locked
解决办法:
首先第一步:vim /etc/security/limits.conf 添加如下内容
* hard nofile 65536
* soft nofile 65536
* hard nproc 65536
* soft nproc 65536
* hard memlock unlimited
* soft memlock unlimited
上面修改需要重启生效,若想立马生效则执行:
ulimit -n 65536 && ulimit -u 65536 && ulimit -l unlimited
第二步:vim /usr/lib/systemd/system/elasticsearch.service 添加配置项:LimitMEMLOCK=infinity ,然后执行下面命令使之生效
systemctl daemon-reload
第三步: 设定我们允许elasticsearch锁定的最大占用的内存大小,这里我们暂设定为2G,根据实际情况修改 MAX_LOCKED_MEMORY=2147483648
mkdir "-p" /etc/systemd/system/elasticsearch.service.d/ && echo "MAX_LOCKED_MEMORY=2147483648" >/etc/systemd/system/elasticsearch.service.d/override.conf
这样我们既优化了ElasticSearch以更高效率运行,又保证内存占用在我们的可控范围内。当然对于JVM的配置比较简单按需配置即可,这里不作讨论。
版权声明:除特殊说明,文章均为博主 久酷 原创文章,转载请注明来源