开启config/elasticsearch.yml
中network.host
配置后,ES启动时会切换为生产模式,开发模式下的警告会升级为异常,导致ES节点无法启动。
禁止swapping
设置Elasticsearch可锁定的、不被交换出的内存不受限制。编辑config/elasticsearch.yml
1
2# 设置为true
bootstrap.memory_lock: true
编辑/etc/security/limits.conf
文件,追加下述配置:1
2# elasticsearch用户锁定内存(不会被swap)不受限制
elasticsearch - memlock unlimited
增大文件描述符
编辑/etc/security/limits.conf
文件,追加下述配置:1
2# elasticsearch用户最多打开文件描述符的数量
elasticsearch - nofile 65536
保证足够的线程数
编辑/etc/security/limits.conf
文件,追加下述配置:1
2# 设置elasticsearch用户最多创建线程数
elasticsearch - nproc 4096
保证足够的虚拟内存
编辑/etc/sysctl.conf
文件,追加下述配置:1
vm.max_map_count=262144
使设置生效
1 | # 加载系统配置参数 |
检查设置
Elasticsearch启动成功后,检查设置项:1
2
3
4
5
6# 设置成功
[root@elasticstack-server ~]# curl -X GET "localhost:9200/_nodes?filter_path=**.mlockall"
{"nodes":{"yW_SUaDnS6WED2QPm5y4TA":{"process":{"mlockall":true}}}}
[root@elasticstack-server ~]# curl -X GET "localhost:9200/_nodes/stats/process?filter_path=**.max_file_descriptors"
{"nodes":{"yW_SUaDnS6WED2QPm5y4TA":{"process":{"max_file_descriptors":65536}}}}
https://www.elastic.co/guide/en/elasticsearch/reference/6.2/system-config.html