elasticsearch报错之 memory locking requested for elasticsearch process but memory is not locked

安装elasticsearch报错如下:

[2019-01-14T03:57:16,453][ERROR][o.e.b.Bootstrap          ] [ip-172-31-30-62.ec2.internal] node validation exception
[1] bootstrap checks failed
[1]: memory locking requested for elasticsearch process but memory is not locked

 所以就去网上查找资料,发现都不是适应自己的环境。最后在官网找到了方法:

不过先跟大家声明一点就是:环境不一样解决的方法也不一样,我这里是Centos7.5版本的系统,所有的服务都由systemd来管理。elasticsearch是6.5.4版本,使用RPM包的方式安装的。

现在我们开始解决问题:

1、修改/etc/sysconfig/elasticsearch文件调整JVM内存大小

ES_JAVA_OPTS="-Xms4g -Xmx4g" 
MAX_LOCKED_MEMORY=unlimited

替换4g为总内存的一半(Elasticsearch官方建议是主机总内存的一半)

2、修改/etc/security/limits.conf文件内容

elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited

需要将elasticsearch替换为运行Elasticsearch程序的用户

3、在/etc/systemd/system/elasticsearch.service.d目录下创建一个文件override.conf,并添加下列内容

[Service]
LimitMEMLOCK=infinity

详情我们可以参考:https://www.elastic.co/guide/en/elasticsearch/reference/current/setting-system-settings.html#systemd

4、最后重新载入配置文件更新服务

systemctl daemon-reload

这个时候再重启即可解决问题

猜你喜欢

转载自www.cnblogs.com/FengGeBlog/p/10266148.html
今日推荐