ES 报错:max number of threads [3795] for user [elastic] is too low, increase to at least [4096]

问题描述

使用./elasticsearch启动 es 的时候报以下错误

ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
bootstrap check failure [1] of [1]: max number of threads [3795] for user [elastic] is too low, increase to at least [4096]

解决

该报错是因为 elasticsearch 启动的时候要求当前用户最大线程数至少为 4096 个线程,而操作系统限制该用户最大线程数为 3795,只需要修改当前用户的最大线程数即可。可以使用ulimit -a查看当前用户允许的最大线程数

$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 3795
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65535
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 3795
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

可以看到 max user processes 确实为 3795

在 Linux 中,用户允许的最大线程数的配置文件为/etc/security/limits.conf,我们需要在该配置文件中添加下面配置

elasticsearch  -  nproc  65535

elasticsearch 是我启动 es 的用户,需要根据实际情况改为你的启动用户

该配置会在下个会话中生效,所以我们还需要退出 elasticsearch 用户重新登录,再使用ulimit -a查看当前用户允许的最大线程数

$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 3795
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65535
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 65535
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

可以看到,此时允许的最大线程数已经修改为 65535 了,接着执行./elasticsearch脚本就能正常启动 es 了

参考:
elasticsearch 官网
Linux CentOS7 单机部署elasticsearch-7.2.0

扫码关注我
一起学习,一起进步

公众号:huangxy

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值