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。

相关推荐
muyun280011 小时前
Docker 下部署 Elasticsearch 8 并集成 Kibana 和 IK 分词器
elasticsearch·docker·容器
在未来等你19 小时前
Elasticsearch面试精讲 Day 17:查询性能调优实践
大数据·分布式·elasticsearch·搜索引擎·面试
在未来等你1 天前
Elasticsearch面试精讲 Day 18:内存管理与JVM调优
大数据·分布式·elasticsearch·搜索引擎·面试
Elasticsearch1 天前
在 Elastic Observability 中使用 Discover 的追踪获取更深入的应用洞察
elasticsearch
婲落ヽ紅顏誶1 天前
测试es向量检索
大数据·elasticsearch·搜索引擎
咖啡Beans1 天前
Docker安装ELK(Elasticsearch + Logstash + Kibana)
后端·elasticsearch·docker
一勺菠萝丶2 天前
Jenkins 构建 Node 项目报错解析与解决——pnpm lockfile 问题实战
elasticsearch·servlet·jenkins
小花鱼20252 天前
Elasticsearch (ES)相关
大数据·elasticsearch
阿里嘎多哈基米2 天前
ES——(三)DSL高级查询
elasticsearch·搜索引擎·全文检索·kibana·倒排索引
AAA修煤气灶刘哥2 天前
ES 高级玩法大揭秘:从算分骚操作到深度分页踩坑,后端 er 速进!
java·后端·elasticsearch