elasticsearch5.0启动失败,出现以下提示:git
一、Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)github
因为elasticsearch5.0默认分配jvm空间大小为2g,修改jvm空间分配bootstrap
# vim config/jvm.options vim
-Xms2g centos
-Xmx2g jvm
修改成 elasticsearch
-Xms512m ide
-Xmx512m centos7
二、max number of threads [1024] for user [elasticsearch] is too low, increase to at least [2048]spa
修改 /etc/security/limits.d/90-nproc.conf
* soft nproc 1024
* soft nproc 2048
三、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改/etc/sysctl.conf配置文件,
cat /etc/sysctl.conf | grep vm.max_map_count
vm.max_map_count=262144
若是不存在则添加
echo "vm.max_map_count=262144" >>/etc/sysctl.conf
四、max file descriptors [65535] for elasticsearch process likely too low, increase to at least [65536]
ulimit -n 65536
如下是在5.5.1是踩过的坑
五、启动异常:ERROR: bootstrap checks failed
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
问题缘由:由于Centos6不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测,因此致使检测失败,失败后直接致使ES不能启动。详见 :https://github.com/elastic/elasticsearch/issues/22899
解决方法:在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
六、logstash使用rpm包安装的时候没有配置init的启动脚本
默认状况使用rpm包安装完logstash以后没有启动脚本。官网给了一个脚本,须要根据不一样的系统版本生成对应的启动脚本,并且官网没有给明使用方法,对于新用户来讲算是个坑,不过在终端能够查看到脚本的使用帮助# /usr/share/logstash/bin/system-install --help
生成启动脚本,centos6使用sysv参数,centos7使用systemd
# /usr/share/logstash/bin/system-install /etc/logstash/startup.options sysv
Successfully created systemstartup script for Logstash