接下来我们来看下es8.x
es8默认使用的是jdk17
我们来看下不使用docker的安装方式
先在官网下载
https://www.elastic.co/cn/downloads/past-releases/elasticsearch-8-1-0
![](https://i-blog.csdnimg.cn/blog_migrate/19eb68d9c91039d501f0fe45e2fafc3d.png)
然后上传到我们3台虚拟机中
每一台机器设置 ip和hostname
vi /etc/hosts
192.168.23.132 linux2
192.168.23.133 linux3
192.168.23.136 linux1
为每台机器设置不同的hostanem
hostnamectl set-hostname linux1
hostnamectl set-hostname linux2
hostnamectl set-hostname linux3
然后 创建文件夹 并进行解压 每台机器设置
mkdir -p /opt/es
cd /opt/es
tar -zxvf elasticsearch-8.1.0-linux-x86_64.tar.gz
es是不能使用root账号的 每台机器设置
我们来创建es用户
useradd es
为es用户设置密码,我这里设置的是123qwe... 每台机器设置
passwd es
创建数据文件目录 每台机器设置
cd /opt/es/elasticsearch-8.1.0
mkdir data
创建证书目录 每台机器设置
cd /opt/es/elasticsearch-8.1.0/config
mkdir certs
切换目录拥有者 每台机器设置
cd /opt/es/elasticsearch-8.1.0
chown -R es:es /opt/es/elasticsearch-8.1.0
切换用户 下面的命令都是第一台机器上面设置
su es
签发ca证书 过程中 按 两次回车键
bin/elasticsearch-certutil ca
![](https://i-blog.csdnimg.cn/blog_migrate/9a729fc8f0666b5a520dce7438e2b408.png)
用 ca 证书签发节点证书,过程中需按三次回车键
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
![](https://i-blog.csdnimg.cn/blog_migrate/e2075abf29caa7381cc979932d901c08.png)
将生成的证书文件移动到config/certs目录中
mv elastic-stack-ca.p12 elastic-certificates.p12 config/certs
在第一台机器上面签发https证书
bin/elasticsearch-certutil http
输入n
![](https://i-blog.csdnimg.cn/blog_migrate/6f52c2a881c2ae93d51054a849cec940.png)
输入y
![](https://i-blog.csdnimg.cn/blog_migrate/b7dc384ff8c0513abfb15116b8f57f13.png)
输入certs/elastic-stack-ca.p12
![](https://i-blog.csdnimg.cn/blog_migrate/4e7060786f22651bbd34fa3d7fe7d238.png)
直接回车
![](https://i-blog.csdnimg.cn/blog_migrate/d9c66259a1bb06022fe23a1a9b3fac55.png)
输入5y
![](https://i-blog.csdnimg.cn/blog_migrate/433704984ad33554b549b002926b01ed.png)
输入n
![](https://i-blog.csdnimg.cn/blog_migrate/193dc347e5c95b5f91ecedfafaafb7d7.png)
输入3台机器的hostname,回车2次
linux1
linux2
linux3
输入y
![](https://i-blog.csdnimg.cn/blog_migrate/473699a2c030acc594594213902f71eb.png)
输入ip地址回车2次
192.168.23.136
192.168.23.132
192.168.23.133
![](https://i-blog.csdnimg.cn/blog_migrate/74d99fe30de239dd586be7534a018665.png)
然后再输入y
![](https://i-blog.csdnimg.cn/blog_migrate/8ba1986b9665a47b7831fe84ff9bf77c.png)
输入n
![](https://i-blog.csdnimg.cn/blog_migrate/c9c19bfa064525b22d7e70f3a8057113.png)
不用输入密码回车
再次回车
![](https://i-blog.csdnimg.cn/blog_migrate/729bd2361a004ade6f5f08edcea33385.png)
解压
unzip elasticsearch-ssl-http.zip
将解压后的证书文件移动到 config/certs 目录中
mv elasticsearch/http.p12 kibana/elasticsearch-ca.pem config/certs
![](https://i-blog.csdnimg.cn/blog_migrate/8827ff310bbed7972af0666184b00f43.png)
看到证书目录有4个文件 就是成功了
![](https://i-blog.csdnimg.cn/blog_migrate/f8c9c7326c79ce616ba6c5850e67f979.png)
接下来修改集群配置文件 在第一个节点上
cd /opt/es/elasticsearch-8.1.0/config
vi elasticsearch.yml
# 设置 ES 集群名称
cluster.name: es-cluster
# 设置集群中当前节点名称
node.name: es-node-1
# 设置数据,日志文件路径
path.data: /opt/es/elasticsearch-8.1.0/data
path.logs: /opt/es/elasticsearch-8.1.0/log
# 设置网络访问节点
network.host: linux1
# 设置网络访问端口
http.port: 9200
# 初始节点
discovery.seed_hosts: ["linux1"]
# 安全认证
xpack.security.enabled: true
xpack.security.enrollment.enabled: true
xpack.security.http.ssl:
enabled: false
keystore.path: /opt/es/elasticsearch-8.1.0/config/certs/http.p12
truststore.path: /opt/es/elasticsearch-8.1.0/config/certs/http.p12
xpack.security.transport.ssl:
enabled: true
verification_mode: certificate
keystore.path: /opt/es/elasticsearch-8.1.0/config/certs/elastic-certificates.p12
truststore.path: /opt/es/elasticsearch-8.1.0/config/certs/elastic-certificates.p12
# 此处需注意,es-node-1 为上面配置的节点名称
cluster.initial_master_nodes: ["es-node-1"]
http.host: [_local_, _site_]
ingest.geoip.downloader.enabled: false
xpack.security.http.ssl.client_authentication: none
![](https://i-blog.csdnimg.cn/blog_migrate/dc28fdbee50c0a12ac3a2f3198af0f5f.png)
设置jvm,解决启动失败的问题,把xms,xmx打开
cd /opt/es/elasticsearch-8.1.0/config
vi jvm.options
![](https://i-blog.csdnimg.cn/blog_migrate/d30682a85296e2876e9890573d259050.png)
如果在启动es的时候出现这个错误
![](https://i-blog.csdnimg.cn/blog_migrate/64ee8927036fc90d727545a3bb3b283a.png)
回到root用户,添加下面的信息
vi /etc/security/limits.conf
* soft nofile 204800
* hard nofile 204800
* soft nproc 204800
* hard nproc 204800
![](https://i-blog.csdnimg.cn/blog_migrate/c40a9da70a8a01097cb3794db3416a8a.png)
进入下面的目录找到你的xx.conf,我的叫20-nproc.conf
cd /etc/security/limits.d
vi 20-nproc.conf
![](https://i-blog.csdnimg.cn/blog_migrate/d24b6695aa81bd329b3ff8dfd70eadac.png)
* soft nproc 204800
* hard nproc 204800
然后重启服务器
reboot
验证是否生效
ulimit -Hn
![](https://i-blog.csdnimg.cn/blog_migrate/392eedbac1fb5b5951c95472f900c6da.png)
如果启动的时候出现了这种错误
![](https://i-blog.csdnimg.cn/blog_migrate/57a342af807d697d712ef14a00a1551e.png)
vim /etc/sysctl.conf
vm.max_map_count = 262144
![](https://i-blog.csdnimg.cn/blog_migrate/b25bd191d92581285c0cef1978612ea2.png)
加载配置
sysctl -p
![](https://i-blog.csdnimg.cn/blog_migrate/ac0d0f838ab84b14f346cc89957d5685.png)
如果启动es报下面的错误,关闭防火墙
![](https://i-blog.csdnimg.cn/blog_migrate/91a371d64997dedeb92bb7563e685d2f.png)
回到es用户,启动es
su es
cd /opt/es/elasticsearch-8.1.0/
bin/elasticsearch
![](https://i-blog.csdnimg.cn/blog_migrate/2f9909b5e67a2b5388d1d9ffa8168663.png)
账号elastic 密码 *q8yhnLExmtT3YNF70Pw 保存起来
![](https://i-blog.csdnimg.cn/blog_migrate/569c57c94b738ee80565ba9fa27c54be.png)
如果访问浏览器
192.168.23.136:9200 出现下面的错误
![](https://i-blog.csdnimg.cn/blog_migrate/56df5ab31612dd6a6a0b177bcd7378ec.png)
将elasticsearch.yml箭头位置设置为false
![](https://i-blog.csdnimg.cn/blog_migrate/0c06b0b94da7113ef960c6aeefd3f319.png)
重启es
cd /opt/es/elasticsearch-8.1.0/
bin/elasticsearch
输入账号密码
![](https://i-blog.csdnimg.cn/blog_migrate/5601a729ef3436203ae82f79fa978720.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d8461c36e444c6640ae05571092d57a8.png)
如果忘记密码 使用 es 用户,重置 elastic 用户密码
要在es服务启动的情况 执行命令
su es
cd /opt/es/elasticsearch-8.1.0/
bin/elasticsearch-reset-password -u elastic
输入y,新的密码R3FTbsn0kHhyfpe_jGkD
![](https://i-blog.csdnimg.cn/blog_migrate/9c89f4d4d939cad332fa0315e6729250.png)
接下来我们把这4个证书拷贝到另外2台机器中
![](https://i-blog.csdnimg.cn/blog_migrate/48db53c659f2a297215a92c2a2e99e89.png)
sz *
然后选择目录,下载到windows
![](https://i-blog.csdnimg.cn/blog_migrate/169ebcb072c4bc540106a0c01f5f2323.png)
然后把证书上传到另外两台机器中
![](https://i-blog.csdnimg.cn/blog_migrate/0f4b5ae178078c5b178cad3999283bc2.png)
然后在另外2台机器上面切回root用户,重新给es授权目录
cd /opt/es/elasticsearch-8.1.0
chown -R es:es /opt/es/elasticsearch-8.1.0
然后修改第二台节点的elasticsearch.yml
su es
vi /opt/es/elasticsearch-8.1.0/config/elasticsearch.yml
把之前的yml拿过来,只改这2个地方
![](https://i-blog.csdnimg.cn/blog_migrate/79accda7ea2eaf05168c3dfd88a68c7f.png)
jvm也要放开
![](https://i-blog.csdnimg.cn/blog_migrate/1b37da9dd01e9b9dfb959d2bd6f8641e.png)
然后修改第三台节点的elasticsearch.yml
su es
vi /opt/es/elasticsearch-8.1.0/config/elasticsearch.yml
把之前的yml拿过来,只改这2个地方
![](https://i-blog.csdnimg.cn/blog_migrate/16d52dc8aadd5a6855c648d713929597.png)
jvm也要放开
![](https://i-blog.csdnimg.cn/blog_migrate/31f8a8a3cdbb15304b493cee3873c52f.png)
启动3台节点的es
cd /opt/es/elasticsearch-8.1.0
bin/elasticsearch
如果是后台启动es,可以使用下面的方式
bin/elasticsearch -d
浏览器访问
192.168.23.132:9200
192.168.23.133:9200
192.168.23.136:9200
这3个节点的账号密码都一样,因为我们之前在第一台就生成好了,如果忘记密码就重置密码