本文介绍Linux环境如何安装Elasticsearch.java
本文环境是在腾讯云服务器CentOS7.2搭建的,JDK1.8,elasticsearch-5.4.2。bootstrap
网上教程不少,也能够参考本人教程以前写的Linux安装JDKvim
cd /usr/local/
复制代码
mkdir tool
复制代码
cd tool
复制代码
mkdir elasticsearch
复制代码
cd elasticsearch
复制代码
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.2.tar.gz
复制代码
tar -xvf elasticsearch-5.4.2.tar.gz
复制代码
cd elasticsearch-5.4.2/bin
复制代码
./elasticsearch
复制代码
直接启动,遇到如图问题,以下:浏览器
这个问题是因为内存分配不够形成的,修改适合本机的内存,修改文件config/jvm.optionsbash
vi ../config/jvm.options
复制代码
修改以下位置服务器
因为个人服务器内存较小,修改成512m,具体能够根据状况修改,以下:curl
修改后在次启动:jvm
./elasticsearch
复制代码
出现以下错误: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
复制代码
如图所示,能够成功访问
在浏览器访问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 &
复制代码
以上全是本人踩坑实践获得的,亲测可用。