安装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
这个时候再重启即可解决问题