Linux安装Elasticsearch

本文介绍Linux环境如何安装Elasticsearch.java

本文环境是在腾讯云服务器CentOS7.2搭建的,JDK1.8,elasticsearch-5.4.2。bootstrap

1 安装JDK

网上教程不少,也能够参考本人教程以前写的Linux安装JDKvim

2 安装Elasticsearch

2.1 建立elasticsearch目录

cd /usr/local/
复制代码
mkdir tool
复制代码
cd tool
复制代码
mkdir elasticsearch
复制代码
cd elasticsearch
复制代码

2.1 下载Elasticsearch

2.1.1 在刚刚建立好的文件夹内下载Elasticsearch(如下简称es)

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.2.tar.gz
复制代码

2.1.2 解压es包

tar -xvf elasticsearch-5.4.2.tar.gz
复制代码

2.1.3 进入es/bin包

cd elasticsearch-5.4.2/bin
复制代码

2.1.4 启动es

./elasticsearch
复制代码

2.2 解决问题

2.2.1 问题一

直接启动,遇到如图问题,以下:浏览器

这个问题是因为内存分配不够形成的,修改适合本机的内存,修改文件config/jvm.optionsbash

vi ../config/jvm.options
复制代码

修改以下位置服务器

因为个人服务器内存较小,修改成512m,具体能够根据状况修改,以下:curl

修改后在次启动:jvm

./elasticsearch
复制代码

2.2.2 问题二

出现以下错误:elasticsearch

org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
复制代码

如图oop

这个问题很明显,不容许使用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
复制代码

如图所示,能够成功访问

2.2.3 问题三

在浏览器访问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用户打开以下文件:

vi /etc/security/limits.conf
复制代码

添加以下配置:

hadoop soft nofile 65536
hadoop hard nofile 131072
hadoop soft nproc 2048
hadoop hard nproc 4096
复制代码
vim /etc/sysctl.conf
复制代码

添加以下配置:

vm.max_map_count = 655360
复制代码

使配置生效

/sbin/sysctl -p
复制代码

而后使用es用户启动Elasticsearch,此次能够成功启动了,若是须要后台启动的话,在启动命令后加&,以下所示:

./elasticsearch &
复制代码

总结

以上全是本人踩坑实践获得的,亲测可用。

相关文章
相关标签/搜索