安装ElasticSearch遇到的深坑
实验需要ES,安装过程中遇到一些奇葩的问题,记录下。下面介绍下安装步骤;
第一步:安装java
ES是运行在java虚拟机上面的,所以首先需要安装java环境,安装过程不再赘述,唯一需要注意的是ES对java版本的要求,官网上有介绍。
我使用的是java-1.8 ES:5.6.4
第二步:创建用户
groupadd elasticsearch
useradd elasticsearch -g elasticsearch
su - elasticsearch
mkdir /data
chown -R elasticsearch:elasticsearch /data/
第三步:安装elasticsearch
将下载的相关版本的ES安装包,解压到/opt目录下,修改配置文件elasticsearch.yml文件,文件配置项的意义参考官方网站;主要要配置的有下面几个。单击模式和集群模式的配置方式有些不同。
cluster.name
node.name
path.data
path.logs
bootstrap.memory_lock
bootstrap.system_call_filter
network.host
http.port
需要注意的是,配置项的key和value在冒号前后需要加一个英文空格。eg:cluster.name : hehe
配置文件修改完成之后就可以尝试启动,在bin目录下运行./elasticsearch,结果会发现报了各种错误。
max file descriptors [4096] for elasticsearch process likely toolow, increase to at least [65536]
elastic search报错——“failed to obtain node locks”
之前虽然启动失败了,但是还是有相关进程已经启动,占用了主机和端口,所以导致新的进程无法启动,解决的办法是将老的进程杀死:
ps -ef| grep elasticsearch
kill -9 pidid(上面查到的进程ID)
然后启动就成功了;成功的标志是出现了下面的输出内容: