安裝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
這個時候再重啟即可解決問題
