一、安装包获取。
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.9.0-linux-x86_64.tar.gz
二、准备工作。
准备至少三个节点,推荐配置内存尽可能高。
三、关闭三个节点的防火墙。
# 必须关闭防火墙,否则无法正常启动集群
# 查看状态 systemctl status firewalld #
# 关闭 systemctl stop firewalld
说明:测试的时候可以先关闭防火墙测试,而且设备之间的9300端口必须互通。后续测试完成后,因安全问题还是需要打开防火墙的。
四、修改系统配置
1、添加es服务用户。
elasticsearch不允许root用户启动,需要新增一个单独的es用户。
#添加用户 es
useradd es
#设置用户 es 密码
passwd es
2、创建安装目录并授权。
# 创建目录
mkdir /opt/es/
# 授权
chown -R es:es /opt/es/
说明:后续把安装包解压到目录后,还需要进行授权一次,不然会启动报错。
3、修改操作系统配置。
修改最大虚拟内存
vim /etc/sysctl.conf
尾部追加以下配置并保存
vm.max_map_count=655360
执行如下命令生效
sysctl -p
显示 vm.max_map_count = 655360 就OK了
修改后启动如果还是会遇到报错,原因是用户最大文件描述符不匹配,解决方式。
修改 zyd 用户最大文件描述符
vim /etc/security/limits.conf
插入以下配置
* soft nofile 65536
* hard nofile 65536
五、开始安装elasticsearch。
1、将文件解压到对应目录。
tar -zxvf elasticsearch-8.9.0-linux-x86_64.tar.gz -C /opt/es/
注:需再执行一次授权chown -R es:es /opt/es/
2、配置elasticsearch.yml文件。
目录为:/opt/es/elasticsearch-8.9.0/config
只需配置到方框框起来的位置。
配置上需要注意的是
三台集群配置全部一样,唯一的区别点就是
#节点名称
node.name: node-1和node.name: node-2以及node.name: node-3
3、配置 jvm.options文件。
vim jvm.options
将内存最大最小配置为4G 其他不动
-Xms4g
-Xmx4g
注:配置完成后尝试启动。
应该会报以下错误:
Transport SSL must be enabled if security is enabled on a [basic] license. Please set [xpack.security.transport.ssl.enabled] to [true] or disable security by setting [xpack.security.enabled] to [false]
4、添加证书。
(1)生成证书
到安装目录下,执行命令:bin/elasticsearch-certutil ca 过程中输入回车键盘确认即可。
bin目录下会有一个文件名为elastic-stack-ca.p12生成。
(2)创建私钥
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 过程中输入回车键盘确认即可。
bin目录下会有一个文件名为elastic-certificates.p12生成。
(3)文件生成后,需要放入对应的目录。创建certs目录:mkdir config/certs,拷贝两个文件到创建的目录中并将证书拷贝至所有elasticsearch节点.把certs目录scp到集群的所有节点
说明:
具体哪个目录是由elasticsearch.yml中的配置项xpack.security.transport.ssl.keystore.path、xpack.security.transport.ssl.truststore.path指定。
(4)指定了秘钥文件密码,需要执行以下两条命令(不执行启动会报错,所有节点都要执行)
bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
(5)增加elasticsearch.yml配置
加入以下配置。
#证书配置
xpack.security.enabled: true
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: /opt/es/elasticsearch-8.9.0/config/certs/elastic-certificates.p12
xpack.security.http.ssl.truststore.path: /opt/es/elasticsearch-8.9.0/config/certs/elastic-certificates.p12
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /opt/es/elasticsearch-8.9.0/config/certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /opt/es/elasticsearch-8.9.0/config/certs/elastic-certificates.p12
(6)启动elasticsearch
执行方式为:/opt/es/elasticsearch-8.9.0/bin目录下执行./elasticsearch
启动验证没问题后,未来的启动方式为在对应目录下执行./elasticsearch -d 使其在后台运行。
(7)设置访问密码。
在/opt/es/elasticsearch-8.9.0目录下执行bin/elasticsearch-setup-passwords interactive
会依次出现对应的用户,逐个进行密码确认并修改。
(8)访问验证
http://IP:9200/ 登录对应的宿主机进行登录访问。输入步骤7为elastic用户创建的密码后返回为即是成功。
至此elasticsearch-8.9.0安装完成。
六、安装完成要做的事情
1、需要提供Kibana组件访问elasticsearch所需要的https证书。
在/opt/es/elasticsearch-8.9.0/config/certs(存放秘钥的目录)目录下执行
openssl pkcs12 -in elastic-stack-ca.p12 -out newfile.crt.pem -clcerts -nokeys
过程中按回车即可。
执行完成后会在目录下生成一个newfile.crt.pem文件,此文件即是Kibana通过https访问所需的证书。
2、关闭防火墙。
关闭防火墙后,首要的点是确保三台集群之间的9300端口互通,以及业务访问的ip需要需要放通。
3、修改密码
elasticsearch.yml配置文件
需要注释掉https的这几项,否则会报错。
在/opt/es/elasticsearch-8.9.0目录下执行bin/elasticsearch-setup-passwords interactive
进行密码修改,也可以执行./elasticsearch-reset-password -u xx(账号) 对单个密码进行修改
修改后再将elasticsearch.yml文件中的上述3行打开。