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
相关推荐
DZSpace19 分钟前
将 Docker 数据迁移到新磁盘:详细操作指南
运维·docker·容器
GZM88888825 分钟前
Elasticsearch Serverless中的数据流自动分片深度解析
大数据·elasticsearch·serverless
森森淼淼丶30 分钟前
oceanbase集群访问异常问题处理
运维·数据库·oceanbase
滚雪球~1 小时前
ubuntu中zlib安装的步骤是什么
运维·服务器·ubuntu
xianwu5431 小时前
cpp编译链接等
linux·开发语言·网络·c++·git
.生产的驴2 小时前
Elasticsearch 操作文档对数据的增删改查操作 索引库文档 操作数据 CRUD
大数据·运维·后端·elasticsearch·搜索引擎·全文检索·jenkins
xxxx1234452 小时前
Linux-Ubuntu之I2C通信
linux·运维·ubuntu
甘北2 小时前
centos7 init.d 和system.d
linux
.生产的驴2 小时前
Elasticsearch 创建索引 Mapping映射属性 索引库操作 增删改查
大数据·spring boot·后端·elasticsearch·搜索引擎·spring cloud·全文检索
编码浪子2 小时前
进军AI大模型-Langchain程序部署
linux·python·langchain