一、下载es及插件
从下面的网址进行对应es版本的下载https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.2-linux-x86_64.tar.gz ,想要不同版本的es只需更换对应的版本号即可。
插件下载地址(ik分词器、pinyin等)es插件下载https://release.infinilabs.com/
二、安装es
因为ES不能root用户启动,需要创建一个账号
1. 先创建elasticsearch用户组,再创建用户名es密码123456的用户
//创建elasticsearch用户组
[root@VM-20-12-centos ~]# groupadd elasticsearch
//新增es用户
[root@VM-20-12-centos ~]# useradd es
//为es用户设置密码
[root@VM-20-12-centos ~]# passwd es
//如果错了(用户),可以删除再加
[root@VM-20-12-centos ~]# userdel -r es
2. 将es用户添加到elasticsearch用户组,并创建es文件夹,并赋予es用户对改文件夹的操作权限
[root@VM-20-12-centos ~]# usermod -G elasticsearch es
[root@VM-20-12-centos ~]# mkdir -p /usr/local/es
[root@VM-20-12-centos ~]# chown -R es /usr/local/es
3. 给es设置sudo权限
[root@VM-20-12-centos ~]# visudo
# 在root ALL=(ALL) ALL一行下面加上
es ALL=(ALL) ALL
4. 切换到es用户(es必须用普通用户启动,root启动不了)
[root@VM-20-12-centos ~]# su es
[es@VM-20-12-centos root]$
5. 上传各安装包到服务器
6. elasticsearch及插件的安装
[es@VM-20-12-centos es]$ tar -zvxf elasticsearch-7.6.1-linux-x86_64.tar.gz
安装IK分词器
先在es文件夹的plugins文件夹下建一个ik插件的文件夹,然后将ik分词器的插件包放到ik文件夹里进行解压,然后重启es即可。
[es@VM-20-12-centos es]$ mkdir -p elasticsearch-7.6.1/plugins/ik
[es@VM-20-12-centos es]$ cp elasticsearch-analysis-ik-7.6.1.zip ./elasticsearch-7.6.1/plugins/ik/
[es@VM-20-12-centos es]$ cd ./elasticsearch-7.6.1/plugins/ik/
[es@VM-20-12-centos ik]$ unzip elasticsearch-analysis-ik-7.6.1.zip
7. 修改elasticsearch.yml配置文件
先在系统中新建两个文件夹分别用于存放es数据和日志,我的是在es目录下创建的两个文件data和logs(下面配置中需要)
[es@VM-20-12-centos es]$ vim elasticsearch-7.6.1/config/elasticsearch.yml
elasticsearch.xml配置文件
# 加入如下配置
cluster.name: myes
#数据存放路径
path.data: /usr/local/es/data
#日志存放路径
path.logs: /usr/local/es/logs
node.name: node-1
#本机IP地址(设置可以访问的ip地址)
network.host: 0.0.0.0
#es暴露对外的端口
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
8. 修改jvm.option配置
[es@VM-20-12-centos es]$ vim elasticsearch-7.6.1/config/jvm.options
jvm.options配置文件里的jvm堆内存大小最小设置1g(根据自己的情况设置)
-Xms1g
-Xmx1g
9.解决es强依赖jdk问题
由于es和jdk是一个强依赖的关系,所以当我们在新版本的ElasticSearch压缩包中包含有自带的jdk,但是当我们的Linux中已经安装了jdk之后,就会发现启动es的时候优先去找的是Linux中已经装好的jdk,此时如果jdk的版本不一致,就会造成jdk不能正常运行
注:如果Linux服务本来没有配置JDK,则会直接使用ES目录下默认的JDK,反而不会报错。如果Linux安装了JDK,不指定JDK会报错
修改/usr/local/es/elasticsearch-7.6.1/bin下elasticsearch文件。
(1)用vim打开文件
vim elasticsearch
(2)在文件中加入下面配置
export ES_JAVA_HOME=/usr/local/es/elasticsearch-7.6.1/jdk
export PATH=$ES_JAVA_HOME/bin:$PATH
if [ -x "$ES_JAVA_HOME/bin/java" ]; then
JAVA="/usr/local/es/elasticsearch-7.6.1/jdk/bin/java"
else
JAVA=`which java`
fi
10. 将普通用户的虚拟内存调大
启动es前需要把虚拟内存调大,不然会报错
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[es@VM-20-12-centos elasticsearch-7.6.1]$ vim /etc/sysctl.conf
在配置文件中加入
vm.max_map_count=262144
然后保存退出,再执行下面的语句,使配置生效
sysctl ‐p
11. 退出重新远程连接linux,改了配置之后最好重新连接
12. 用es用户启动es服务
[es@VM-20-12-centos elasticsearch-7.6.1]$ ./bin/elasticsearch
访问路径:http://192.168.2.162:9200(自己的虚拟机地址加上端口)
如果访问成功,则启动成功!
但是这样关掉命令窗口就会挂掉,所以可以用后台启动:
[es@VM-20-12-centos elasticsearch-7.6.1]$ ./bin/elasticsearch -d