ES安装问题汇总

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

问题描述

ES启动报错。其原因是ES需要的的最小max file descriptors为65535,我们设置的是4096,需要增大max file descriptors的值。

解决方案

调大系统的max file descriptors值

/etc/security/limits.conf中新增两行配置:

复制代码
* hard nofile 65536
* soft nofile 65536

这里*代表所有用户,如果要为指定用户调整参数,则将*替换为指定的用户名。

调整完毕后可查看参数:

复制代码
$ ulimit -Hn
65536
$ ulimit -Sn
65536

memory locking requested for elasticsearch process but memory is not locked

问题描述

ES启动报错。原因是ES进程请求内存锁定,但内存未锁定。

解决方案

方案一 关闭bootstrap.memory_lock

elasticsearch.yml中配置bootstrap.memory_lock: false关闭内存锁。

此方案不推荐使用,关闭内存锁会影响性能。

方案二 开启memlock

/etc/security/limits.conf中追加配置:

复制代码
* hard memlock unlimited
* soft memlock unlimited

这里*代表所有用户,如果要为指定用户调整参数,则将*替换为指定的用户名。

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

问题描述

ES启动报错。系统虚拟内存默认最大映射数为65530,无法满足ES系统要求,需要调整为262144以上。

解决方案

调大系统虚拟内存最大映射数。

/etc/sysctl.conf中追加:

复制代码
vm.max_map_count = 262144

重新加载系统设置:

复制代码
sysctl -p

can not run elasticsearch as root

问题描述

使用root用户启动报错

复制代码
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
···

解决方案

无它,建立一个用户,专门用来启动Elasticsearch的,如esuser,相应的系统目录和数据存储目录都赋予esuser账户为归属者。然后切换到esuser用户重新启动es。

相关推荐
若水不如远方11 分钟前
告别 RestHighLevelClient:Elasticsearch Java 新客户端实战与源码浅析
java·elasticsearch
武子康39 分钟前
大数据-177 Elasticsearch 聚合实战:指标聚合 + 桶聚合完整用法与 DSL 解析
大数据·后端·elasticsearch
码农阿豪1 小时前
用 Rust 构建 Git 提交历史可视化工具
git·elasticsearch·rust
玉离骚1 小时前
ElasticSearch 安装教程
大数据·elasticsearch
铭毅天下1 小时前
Elasticsearch 9.X 官方文档大变样了!
大数据·elasticsearch·搜索引擎·全文检索
leijmdas1 小时前
git操作命令
大数据·git·elasticsearch
Adellle2 小时前
windows安装ES(8.14.x版本)
大数据·windows·elasticsearch
摇滚侠2 小时前
ElasticSearch 是什么,ES 是什么?
大数据·elasticsearch·搜索引擎
摇滚侠2 小时前
ElasticSearch 教程入门到精通,条件分页排序查询,多条件范围查询,完全匹配高亮查询,聚合查询,映射关系,笔记13、14、15、16、17
大数据·笔记·elasticsearch
Linux_Nathan18 小时前
【服务部署】ELFK架构篇之Elasticsearch
elk·elasticsearch·架构