原文:https://www.jianshu.com/p/1bf398735dd4
1 、安装JDK
环境要求jdk8,参考教程:https://blog.csdn.net/pdsu161530247/article/details/81582980
2、创建elasticsearch目录
cd /usr/local/
3、安装elasticsearch
在文件夹内下载Elasticsearch(以下简称es)
bash wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.8.tar.gz
解压es安装包:tar -xvf elasticsearch-6.8.8.tar.gz
进入es/bin:cd elasticsearch-6.8.8/bin
启动es:./elasticsearch
4、问题
(1)直接启动,遇到问题:
这个问题是由于内存分配不够造成的,修改适合本机的内存,修改文件config/jvm.options
vi ../config/jvm.options
由于服务器内存较小,将2g修改为512m,具体可以根据情况修改,如下:
修改后再次启动:./elasticsearch
(2)出现如下错误
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
这个问题是由于不允许使用root用户启动,那么我们新建一个es用户,并赋予权限:
添加es用户
useradd 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
(3)
在浏览器访问http://118.24.242.170:9200/拒绝访问(118.24.242.170为服务器ip)
使用root用户,打开elasticsearch.yml文件,如下:
vi /usr/local/elasticsearch-6.8.8/config/elasticsearch.yml
文件内增加如下代码
network.host: 0.0.0.0
使用root用户打开如下文件:
vim /etc/sysctl.conf
添加如下配置:
vm.max_map_count = 655360
使配置生效
/sbin/sysctl -p
然后使用es用户启动Elasticsearch,这次可以成功启动了,如果需要后台启动的话,在启动命令后加&,如下所示:
./elasticsearch -d
其他问题及解决方法:https://blog.csdn.net/weixin_38361347/article/details/93386009