启动Elasticsearch报错:node validation exception
😱今天玩了玩elasticsearch 5.3.0二进制的环境搭建,发现在启动es服务失败,于是查看部署目录下 logs/目录下日志,发现如下报错:
#查看日志,日志路径一般为部署目录logs/下
cat ./logs/elasticsearch.log
#报错日志
[2022-05-30T09:43:27,255][ERROR][o.e.b.Bootstrap ] [PBelckP] node validation exception
bootstrap checks failed
max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
memory locking requested for elasticsearch process but memory is not locked
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
由上报错发现是节点验证异常,引导检查失败。
于是乎就百度了下,发现是需要调整些内核配置参数,下面就逐一阐述下解决方案。
📌问题一:max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
💡原因:es进程的最大文件描述符[65535]太低。
📣解决:切换到root用户,编辑limits.conf 文件,添加如下内容: (soft nproc 和 hard nproc 也可以设置成65536) 。
vim /etc/security/limits.conf
root soft nofile 65535
root hard nofile 65535
# 添加如下内容:
* soft nofile 65536
* hard nofile 65536
几个重点参数解释:
* soft nofile 65536
* hard nofile 65536
* soft nproc 2048
* hard nproc 4096
① soft nproc:可打开的文件描述符的最大数(软限制)
② hard nproc:可打开的文件描述符的最大数(硬限制)
③ soft nofile:单个用户可用的最大进程数量(软限制)
④ hard nofile:单个用户可用的最大进程数量(硬限制)
备注:* 代表Linux所有用户名称
保存、退出、重新登录才可生效
📌问题二:memory locking requested for elasticsearch process but memory is not locked
💡原因:es进程请求内存锁定,但锁定内存失败。
📣解决:切换到root用户,编辑limits.conf配置文件, 添加类似如下内容:
vim /etc/security/limits.conf
# 添加如下内容:
* soft memlock unlimited
* hard memlock unlimited
📌问题三:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
💡原因:es最大虚拟内存太低。
📣解决:切换到root用户下,修改配置文件sysctl.conf。
vim /etc/sysctl.conf
# 添加下面配置:
vm.max_map_count=655360
#保存退出,并执行命令:
sysctl -p
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具