ES配置常见问题
按着网上的乱七八糟的各种配制方法配置ES,结果启动的时候报了自检失败的错误
ERROR: [X] bootstrap checks failed
这些错误都是因为某项检查自检没有通过而报的错,我自己的虚拟机出现的错误如下:
1 “for elasticsearch process is too low, increase to at least [65536]”
原因:启动ES的用户权限过低,需要提升到65536。
解决方法:使用root用户,进入/etc/security/limits.conf,在最后加入你的用户名 soft nofile 65536
和你的用户名 hard nofile 65536
。保存后执行sysctl -p
,重新启动ES即可。
2 “system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk”
原因:Centos6不支持SeeComp,ES执行时进行检测,检测失败无法启动。
解决方法:修改conf/elasticsearch.yml,修改或者加入如下两条
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
3 “max number of threads is too low, increase to at least [4096];”
原因:当前用户最大线程数太低,需要提升到4096以上。
解决方法:进入/etc/security/limit.d/20-nproc.conf(可能不是20-xxx.conf,我的是90-nproc.conf),在里面加入* soft nproc 4096
(" * "可以为指定的用户名),重启后可以用ulimit -a
来查看线程是否改为4096。
4 “max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]”
原因:最大虚拟内存过小,需要提升到262144以上。
解决方法:进入/etc/sysctl.conf ,加入vm.max_map_count=262144
,然后执行sysctl -p即可。
PS:ES要求的东西真多,挨个修改了这堆问题终于是能跑起来了。