一、创建非 root 用户(es 不能由 root 启动)
sudo adduser xjf
说明:执行命令后会添加密码(必填),以及一些信息(可以直接回车)。之后我们在启动 es 时就登录这个账号
二、使用 wget 下载 Elasticsearch 压缩包
- 首先创建一个目录来保存压缩包,依次执行:
结果为:cd /opt mkdir tools cd tools wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.0.zip
- 解压压缩包
此时才会看到上图的 elasticsearch-5.4.0 文件夹。unzip elasticsearch-5.4.0.zip
三、进行配置
- 修改 es 运行内存。
在 es 文件夹的 JVM 配置文件中默认运行内存是 2g, 我们手动修改为 512M。
文件如图:
运行命令如下:
修改如下:vim jvm.options
- 设置外网访问
es 启动默认是只能在内网访问,需要配置来外网可以访问。需要关闭防火墙。然后在elasticsearch.yml当中添加一行network.host: 0.0.0.0。
配置如图:vim elasticsearch.yml
- 给非 root 用户赋 es 文件的操作权限
比如我的操作如下:chown -R 用户名:用户名 文件目录
chown -R xjf:xjf /opt/tools/elasticsearch-5.4.0
- 非 root 用户启动错误解决
① 此时登录我们刚设置的非 root 用户,进入 es 文件夹的 bin 目录,执行
shell ./elasticsearch -d
说明: -d 参数代表后台运行,测试可以不加。如果是后台运行,可以使用以下命令查看,然后根据进程号可以进行杀死进程。
shell ps -ef | grep elastic
② 上面是正常的情况,但是我们启动时会有如下报错:
此时登录 root 用户,进行参数修改,参数值来自于报错的提示:
shell sysctl -w vm.max_map_count=262144
然后查看参数修改状态:
shell sysctl -a | grep "vm.max_map_count"
③ 此时再启动就会成功了,成功图如下:
四、访问(如下情况则成功)
- 可以通过外网 IP 进行访问
- 可以使用 curl 工具访问
借鉴自:
https://www.cnblogs.com/zhengyazhao/p/10918821.html
https://www.jianshu.com/p/f502438073fd