可以用curl -X GET "localhost:9200/_nodes?filter_path=**.mlockall" 来查看 如果"mlockall": false说明请求失败。日志里面还会有警告信息:memory locking requested for elasticsearch process but memory is not locked。 可能是因为运行es的用户没有锁定内存的权限。 解决方法: 如果es是用tar或者zip包安装:
代码语言:javascript复制#ulimit -l unlimited,或者
#/etc/security/limits.conf添加
elasticsearch - nofile 65536
rpm包安装的:我们这里采用的此项
代码语言:javascript复制cat >/etc/systemd/system/elasticsearch.service.d/override.conf<<EOF
[Service]
LimitMEMLOCK=infinity
EOF
重新加载配置文件:
代码语言:javascript复制systemctl daemon-reload
重启服务:
代码语言:javascript复制systemctl restart elasticsearch.service