在Linux安装ElasticSearch
注:本文根据elasticsearch中文文档整理而来:https://learnku.com/docs/elasticsearch73/7.3/get-elasticsearch-up-and-running/6449
参考:https://blog.csdn.net/xiaoai1994/article/details/123269828
1.es官网下载:https://www.elastic.co/cn/downloads/elasticsearch
当然使用我们centos的小伙伴,也可以直接通过wget指令进行下载:
wget artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.0.1-linux-x86_64.tar.gz
1.2 解压
tar -zxvf elasticsearch-8.0.1-linux-x86_64.tar.gz
其实到这里ES就安装完成了,但是!!!
ES的linux版本是真的不友好,他需要经过大量的配置才可以使用!!!
二、ES的配置修改
2.1 修改ES的通用配置文件
我们先看下ES文件解压后的结构:
2.1.1 创建data文件夹和log文件夹
我们首先要在这个路径下创建两个新的文件夹:data 和 log,解释一下这两个文件夹的作用。
data文件夹是用来存放ES的数据文件。
log文件夹用来存放ES在运行时的日志。
创建命令:
mkdir data
mkdir log
接下来让我们进入config文件夹
cd config
2.2 修改通用配置文件
通用配置文件通常指的是elasticsearch.yml
我们打开elasticsearch.yml文件进行修改
1. 修改服务名称
#找到 cluster.name并修改
cluster.name: es-service
2. 修改当前节点名称
#找到node.name
node.name: es-node01
3. 修改路径
# 修改data和log文件路径 具体路径按实际配置
path.data: /usr/elastic/elasticsearch-7.3.2/data
path.logs: /usr/elastic/elasticsearch-7.3.2/log
4. 绑定HOST
#绑定host配置
network.host: 0.0.0.0
5. 修改master节点信息
cluster.initial_master_nodes: ["es-node01"]
2.3 修改JVM配置文件
打开jvm.options
#修改es运行时虚拟机内存大小 内存大的服务器可以改大点
-Xms256m
-Xmx256m
2.4 创建专用用户
ES不允许使用LINUX的ROOT用户启动,因此我们需要创建一个专用用户
# 创建用户
useradd esuser
# 用户授权
chown -R esuser:esuser /usr/elastic/elasticsearch-7.3.2
在一个新的Linux环境添加用户的时候,发现不能添加,遇到了以下错误
useradd: cannot open /etc/passwd
解决方法:
用lsattr命令查看/etc/passwd的隐藏权限
lsattr /etc/passwd
出现 -----a-------------- /etc/passwd
权限 a 说明设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。
用chattr命令对/etc/group去除a权限位:
chattr -a /etc/passwd
使用 useradd admin 提示:
useradd: cannot open /etc/shadow
lsattr /etc/shadow
-----a-------------- /etc/shadow
用同样的方式去除/etc/shadow 权限:
chattr -a /etc/shadow
三、启动运行
1. 切换用户
su esuser
2. 运行
cd /usr/elastic/elasticsearch-7.3.2/bin
./elasticsearch
报错信息为:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改目录 ; vim /etc/sysctl.conf
添加vm.max_map_count = 262144
执行sysctl -p
重新运行:
在客户端访问;
在浏览器访问:
四、关闭密码(可跳过)
ES默认是要求我们通过密码串登陆的,其默认用户名为: elastic,不想使用的小伙伴可以通过修改elasticsearch.yml配置文件进行关闭:
xpack.security.enabled: false
五、后台启动Elasticsearch
Elasticsearch在linux下使用命令sh elasticsearch start,按键ctrl+c的时候程序就会stop掉,如何将程序在后台启动呢?
需要使用:./elasticsearch -d
这时执行的时候会出现没有权限./elasticsearch: Permission denied
需要授权执行命令:chmod +x bin/elasticsearch
注意使用你所创建的es账户
再次执行./elasticsearch -d即可启动
使用ps aux|grep elasticsearch可以查看是否启动