Elasticsearch启动报错及解决方法

Elasticsearch启动报错信息一:

ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方法:

# vim /etc/sysctl.conf

添加下面配置:

vm.max_map_count=655360

并执行命令:

# sysctl -p

报错信息二:

ERROR: [1] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

解决方法:

切换到root用户

# ulimit -Hn  查看硬限制

# vim /etc/security/limits.conf

##在末尾添加下面设置

* soft nofile 655350 
* hard nofile 655350

退出用户重新登录,使配置生效

重新 ulimit -Hn  查看硬限制 会发现数值有4096改成65535

# vim /etc/security/limits.d/90-nproc.conf

找到如下内容:

soft nproc 1024

修改为

soft nproc 2048

报错信息三:

org.elasticsearch.bootstrap.StartupException: Java.lang.IllegalStateException: failed to obtain node locks, tried [[/data/elasticsearch/data/elasticsearch]] with lock id [0]; maybe these locations are not writable or multiple nodes were started without increasing [node.max_local_storage_nodes] (was [1])?

解决方法:
在开启多个elasticsearch 实例时,config/elasticsearch.yml文件中新增一个配置变量:

[elsearch@Elk_Server elasticsearch]$ vim config/elasticsearch.yml

node.max_local_storage_nodes: 256 

报错信息四:

ERROR: [1] bootstrap checks failed
[1]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
[2019-03-01T16:20:49,025][INFO ][o.e.n.Node              ] [node-data1] stopping ...
[2019-03-01T16:20:49,081][INFO ][o.e.n.Node              ] [node-data1] stopped
[2019-03-01T16:20:49,081][INFO ][o.e.n.Node              ] [node-data1] closing ...
[2019-03-01T16:20:49,100][INFO ][o.e.n.Node              ] [node-data1] closed

解决方法:
CentOS6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true

禁用:在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:

bootstrap.memory_lock: false
bootstrap.system_call_filter: false

相关推荐