【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
重启服务器
好学若饥,谦卑若愚
分类:
Linux
, ElasticSearch
标签:
Middleware
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2019-01-04 【转】linux awk命令详解