本文介绍Linux环境如何安装Elasticsearch.
本文环境是在腾讯云服务器CentOS7.2搭建的,JDK1.8,elasticsearch-5.4.2。
网上教程很多,也可以参考本人教程之前写的Linux安装JDK
cd /usr/local/mkdir toolcd toolmkdir elasticsearchcd elasticsearchcurl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.2.tar.gztar -xvf elasticsearch-5.4.2.tar.gzcd elasticsearch-5.4.2/bin./elasticsearch直接启动,遇到如图问题,如下:

这个问题是由于内存分配不够造成的,修改适合本机的内存,修改文件config/jvm.options
vi ../config/jvm.options修改如下位置

由于我的服务器内存较小,修改为512m,具体可以根据情况修改,如下:

修改后在次启动:
./elasticsearch出现如下错误:
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root如图

这个问题很明显,不允许使用root用户启动,那么我们新建一个es用户,并赋予权限:
添加es用户
useradd es添加es用户密码
passwd es将文件夹elasticsearch-5.4.2赋予es权限
chown -R es:es /usr/local/tool/elasticsearch/elasticsearch-5.4.2切换为es用户
su es再次启动es
./elasticsearch这次启动成功了,我们在使用一个窗口登录root用户,输入命令:
curl -X GET http://localhost:9200如图所示,可以成功访问

在浏览器访问http://118.24.242.170:9200/拒绝访问(118.24.242.170为服务器ip)
使用root用户,打开elasticsearch.yml文件,如下:
vi /usr/local/tool/elasticsearch/elasticsearch-5.4.2/config/elasticsearch.yml文件内增加如下代码
network.host: 0.0.0.0使用es用户启动,发现又出现了错误如下,得到错误信息如图

使用root用户打开如下文件:
vim /etc/sysctl.conf添加如下配置:
vm.max_map_count = 655360使配置生效
/sbin/sysctl -p然后使用es用户启动Elasticsearch,这次可以成功启动了,如果需要后台启动的话,在启动命令后加&,如下所示:
./elasticsearch &以上全是本人踩坑实践得到的,亲测可用。