环境
- cenos6.5
- elasticsearch-6.0.0.tar.gz
- jdk1.8
开始安装
配置jdk(不用多说都懂)
先在root用户下解压
cd /opt
#解压
tar -zxvf elasticsearch-6.0.0.tar.gz
#重命名
mv elasticsearch-6.0.0 elasticsearch
配置sysctl.conf(这是为了配置虚拟内存,如果启动不报错也可以不修改)
#修改sysctl配置
vim /etc/sysctl.conf
#添加如下配置
vm.max_map_count=262144
#让配置生效
sysctl -p
#查看配置的数目
sysctl -a|grep vm.max_map_count
配置yml文件
vim /opt/elasticsearch/config/elasticsearch.yml
elasticsearch从5.0版本之后不允许root账户启动
#添加用户
adduser dev
#设定密码
passwd dev
#添加权限
chown -R dev /opt/elasticsearch
#切换用户
su dev
#启动
./elasticsearch/bin/elasticsearc
#后台启动
./elasticsearch/bin/elasticsearch -d
启动错误总结
Centos6不支持SecComp
报错:ERROR: bootstrap checks failedsystem call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
原因:这是在因为Centos6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
解决:在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
最大虚拟内存区域不足
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
临时设置:sudo sysctl -w vm.max_map_count=262144
永久修改:
修改/etc/sysctl.conf 文件,添加 “vm.max_map_count”设置
并执行:sysctl -p