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
相关推荐
小糖学代码1 小时前
LLM系列:1.python入门:3.布尔型对象
linux·开发语言·python
shizhan_cloud1 小时前
Shell 函数的知识与实践
linux·运维
Deng8723473481 小时前
代码语法检查工具
linux·服务器·windows
ganshenml2 小时前
【GIT】Git 本地无法识别远程分支的原因与解决方法 not a valid ref
大数据·git·elasticsearch
霍夫曼3 小时前
UTC时间与本地时间转换问题
java·linux·服务器·前端·javascript
2301_810746313 小时前
CKA冲刺40天笔记 - day20-day21 SSL/TLS详解
运维·笔记·网络协议·kubernetes·ssl
❀͜͡傀儡师4 小时前
docker 部署 komari-monitor监控
运维·docker·容器·komari
物联网软硬件开发-轨物科技4 小时前
【轨物方案】软硬件一体赋能,开启矿山机械远程智慧运维新篇章
运维
月熊4 小时前
在root无法通过登录界面进去时,通过原本的普通用户qiujian如何把它修改为自己指定的用户名
linux·运维·服务器
大江东去浪淘尽千古风流人物5 小时前
【DSP】向量化操作的误差来源分析及其经典解决方案
linux·运维·人工智能·算法·vr·dsp开发·mr