【ElasticSearch】常见问题处理

1、ElasticSearch不能使用root用户启动

Caused by: java.lang.RuntimeException: can not run elasticsearch as root

解决方法:

sudo adduser elsearch
sudo passwd  elsearch
sudo chown -R elsearch:elsearch  es目录

2、调整vm.max_map_count的大小

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

max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量。虚拟内存区域是一个连续的虚拟地址空间区域。在进程的生命周期中,每当程序尝试在内存中映射文件,链接到共享内存段,或者分配堆空间的时候,这些区域将被创建。调优这个值将限制进程可拥有VMA的数量。限制一个进程拥有VMA的总数可能导致应用程序出错,因为当进程达到了VMA上线但又只能释放少量的内存给其他的内核进程使用时,操作系统会抛出内存不足的错误。如果你的操作系统在NORMAL区域仅占用少量的内存,那么调低这个值可以帮助释放内存给内核用。

默认值是65536.

临时调整
sudo sysctl -w vm.max_map_count=262144
永久调整
sudo vim /etc/sysctl.conf
#新增
vm.max_map_count=262144
#配置生效
sudo sysctl -p

3、ES启动异常: memory is not locked

[1] bootstrap checks failed
[1]: memory locking requested for elasticsearch process but memory is not locked
解决方法1:

修改es配置文件

# vim config/elasticsearch.yml     // 设置成false,影响性能
bootstrap.memory_lock: false
解决方法2:

1、编辑 /etc/security/limits.conf文件

sudo vim /etc/security/limits.conf
#在limits.conf中添加如下配置
# allow user 'elsearch' mlockall
elsearch soft memlock unlimited
elsearch hard memlock unlimited

2、删除 目录/etc/security/limits.d下文件。

rm -rf /etc/security/limits.d/

注:修改后,最好重启一下,或者断开shell,重登录一次。修改这个文件基本上都能解决此问题。

3、修改/etc/systemd/system.conf

sudo vim /etc/systemd/system.conf
#添加如下配置
DefaultLimitNOFILE=65536
DefaultLimitNPROC=32000
DefaultLimitMEMLOCK=infinity

重启服务器

posted @   二月无雨  阅读(163)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2019-01-04 【转】linux awk命令详解
点击右上角即可分享
微信分享提示