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。

相关推荐
RealmElysia4 小时前
CoAlbum 引入ES
java·elasticsearch
失散1316 小时前
分布式专题——43 ElasticSearch概述
java·分布式·elasticsearch·架构
望获linux20 小时前
【实时Linux实战系列】实时 Linux 的自动化基准测试框架
java·大数据·linux·运维·网络·elasticsearch·搜索引擎
风清再凯21 小时前
01-ELK安装ES,ES-head
大数据·elk·elasticsearch
JAVA学习通1 天前
SpringOJ竞赛项目----组件ElasticSearch
大数据·elasticsearch·搜索引擎
xxxxxxllllllshi1 天前
Java中Elasticsearch完全指南:从零基础到实战应用
java·开发语言·elasticsearch·面试·职场和发展·jenkins
失散132 天前
分布式专题——47 ElasticSearch搜索相关性详解
java·分布式·elasticsearch·架构
铭毅天下2 天前
Elasticsearch 到 Easysearch 数据迁移 5 种方案选型实战总结
大数据·elasticsearch·搜索引擎·全文检索
Elastic 中国社区官方博客2 天前
Elasticsearch 推理 API 增加了开放的可定制服务
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索