Linux系统安装es详细教程

一、下载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
相关推荐
s_little_monster10 分钟前
【Linux】环境变量
linux·运维·服务器·经验分享·笔记·学习·学习方法
dilvx32 分钟前
PTRACE_TRACEME 与反调试
linux·运维·服务器
x,,xx1114 小时前
防火墙的安全策略
linux·服务器·数据库
Stark、4 小时前
【Linux系统编程】进程间通信(管道:匿名管道、命名管道、实战练习)
linux·运维·服务器·c语言·后端
犀利卓7 小时前
Linux——文件与磁盘
linux·运维·服务器
大海绵啤酒肚7 小时前
Kubernetes | Rocky Linux 8.9 安装部署 kubernetes集群
linux·容器·kubernetes
Gratitute_林腾7 小时前
neo4j-在Linux中安装neo4j
linux·neo4j
喵叔哟10 小时前
2. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--什么是微服务--微服务概述与演变
运维·微服务
苹果醋311 小时前
Kubeflow——K8S的机器学习利器
运维·vue.js·spring boot·nginx·课程设计
zhoupenghui16811 小时前
linux环境自动化golang项目启动脚本解析
运维·自动化·github·sh·golang自动化部署