Elasticsearch8.3.2搭建部署详细步骤

0.过往文章

ES-6文章:

Elasticsearch6.6.0部署、原理和使用介绍: https://blog.csdn.net/wt334502157/article/details/119515730

ES-7文章:

Elasticsearch7.6.1部署、原理和使用介绍: https://blog.csdn.net/wt334502157/article/details/127693231

 

ES8正文- Elasticsearch8.3.2搭建部署详细步骤

1.环境准备

1-1.机器规划

IP地址操作系统主机名角色
172.28.54.213CentOS7.8es01master&data节点
172.28.54.214CentOS7.8es02master&data节点
172.28.54.215CentOS7.8es03master&data节点
  1. es各节点均为master,Elasticsearch-8版本部署的集群无主思想
  2. 这里使用了三台全新的机器,考虑到es版本8对java的要求相对较高,如机器部署的应用较多,避免java环境混乱以及应用之间相互影响,所以es8不建议使用在已经部署较多java环境的应用机器。

ES各版本对java版本的需求:

  • ES 7.x 及之前版本:选择 Java 8

  • ES 8.x,支持 Java 17 和 Java 18,推荐版本:

    • 其中对于ES 8.0:Java版本仅支持 Java 17
    • ES 8.1及以上版本:支持Java 17 以及 Java 18,建议使用Java 17

【注意】

  1. Java 9、Java 10、Java 12 和 Java 13 均为官方公布的短期版本,ES各版本均不推荐使用这几个
  2. ES 8.1及以上版本的es对应版本的 Logstash 不支持 Java 18
  3. elasticsearch项目的jdk目录下现在已经内置了openjdk18,也可以直接使用

 

1-2.各节点设置主机名

1-3.各节点创建普通用户

ES不能使用root用户来启动,否则会报错,使用普通用户来安装启动。创建一个普通用户以及定义一些常规目录用于存放我们的数据文件以及安装包等

1-4.各节点将普通用户权限提高

让普通用户有更大的操作权限,一般都会给普通用户设置sudo权限,方便普通用户的操作,避免操作时频繁输入密码

1-5.各节点添加hosts主机名解析

如果在各节点的/etc/hosts中都配置了节点的ip解析,那后续在配置文件中,相关的ip配置都可以用解析名代替

1-6.安装包准备

各组件均可以在官方找到对应版本下载:

官方下载安装包地址:https://www.elastic.co/cn/downloads/elasticsearch

1-7.各节点环境优化(各节点)

  • 注意环境优化为各节点均要执行的实施操作,需要自行在每个节点去执行命令

1-7-1.优化1:最大文件数

系统允许 Elasticsearch 打开的最大文件数需要修改成65536

如果这个配置不优化后续启动服务会出现: [error] max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536] elasticsearch

1-7-2.优化2:最大进程数

允许最大进程数配置修该成4096;不是4096则需要修改优化

这个配置不优化启动服务会出现: [error]max number of threads [1024] for user [judy2] likely too low, increase to at least [4096]

1-7-3.优化3:虚拟内存

设置一个进程可以拥有的虚拟内存区域的数量

这个配置不优化启动服务会出现: [error]max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

2.安装es

2-1.解压安装

2-2.修改profile环境

2-3.创建es相关目录

2-4.证书签发

2-5.设置集群多节点 HTTP 证书

2-6.解压证书并分发

如果提示:-bash: unzip: command not found,使用yum安装即可

[wangting@es01 elasticsearch-8.3.2]$ sudo yum install -y unzip

 

2-7.配置文件修改配置

【注意】:

  1. xpack.security.http.ssl & xpack.security.transport.ssl后的子配置需要空一格,遵循yml的格式要求

  2. 如果不需要后续的http证书认证或者用户密码认证可以将xpack.security相关的功能falase关闭掉

有些业务使用场景中,可能会遇到跨域问题,当elasticsearch需要涉及到跨域问题时,可以在配置文件中最后增加配置:

 

2-8.修改其余节点的配置文件

2-9.启动集群

每台节点依次启动(无顺序要求,只要多于2台,就可以启动集群,这就是es的无主模式,自动识别集群,选举master):

登录网页,都与之前的密码一致:elastic/bigdata

https://es01:9200/_cat/nodes?v

 

【注意】

如果不留神使用root修改过目录下文件,则文件权限会变成root所属主,所以需要修改回普通用户

sudo chown -R wangting.wangting /opt/module/

ES服务启动后有2个端口

  • 9200为客户端访问es的http协议RESTFUL端口
  • 9300为ES集群之间组件的通信端口

2-10.修改HTTP登录密码

 

2-11.页面访问验证

https://ip:9200 (注意是https)

账号密码为上面创建的:elastic / elastic的密码

-

2-12.集群启动|停止

【注意】:

  1. -d 为后台运行,不加-d只能前台运行,关了会话窗口服务也会同时终止
  2. 3台机器都需要启动elasticsearch
  3. 运行日志没有配置定义,默认在服务目录下:elasticsearch-8.3.2/logs/ ,有异常可以先查看日志

启动集群:

等待脚本执行结束

停止集群: