转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。
本文记录在3台服务器上离线搭建es8.7.1版本集群。
1. 修改系统配置
1.1 hosts配置
在三台es节点服务器加入hostname解析:
10.0.0.101 es01
10.0.0.102 es02
10.0.0.103 es03
1.2 三台节点创建启动es的普通用户sre
# useradd sre
1.3 三台节点修改内存参数
# echo -e "vm.max_map_count=655350 \nvm.overcommit_memory=1">>/etc/sysctl.conf
# sysctl -p
1.4 三台节点修改limits参数
# echo -e "* soft nofile 65536 \n* hard nofile 65536 \n* soft nproc 65536 \n* hard nproc 65536 \n* hard memlock unlimited \n* soft memlock unlimited" >>/etc/security/limits.conf
1.5 三台节点安装jdk
# tar xf jdk-8u231-linux-x64.tar.gz -C /opt/
# echo "export JAVA_HOME=/opt/jdk1.8.0_231" >>/etc/profile
# echo "export PATH=\$PATH:\$JAVA_HOME/bin" >>/etc/profile
# source /etc/profile
2. 安装elasticsearch
将elasticsearch-8.7.1-linux-x86_64.tar上传到服务器并解压。后面的步骤均使用sre用户操作。
2.1 创建证书
注意: 生成的证书要放在config目录下,否则可能会启动失败。在1台服务器上生成,再同步到另外两台服务器,该证书保持三个es节点一致。
$ ./bin/elasticsearch-certutil ca --pem --out ca.zip --days 36500 -s
2.2 三台节点修改配置文件
主要在配置文件config/elasticsearch.yml修改或添加以下配置:
cluster.name: sretest
node.name: es01 #配置各节点hostname
path.data: /home/elasticsearch-8.7.1/data
path.logs: /home/elasticsearch-8.7.1/logs
network.host: 10.0.0.101 #配置各节点IP
http.port: 9200
discovery.seed_hosts: ["es01", "es02","es03"]
cluster.initial_master_nodes: ["es01", "es02","es03"]
http.cors.enabled: true
http.cors.allow-origin: "*"
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.key: /home/elasticsearch-8.7.1/config/cert/ca/ca.key #上一步骤生成的证书
xpack.security.transport.ssl.certificate: /home/elasticsearch-8.7.1/config/cert/ca/ca.crt
2.3 三台节点创建data目录
$ mkdir /home/elasticsearch-8.7.1/data
2.4 三台节点sre用户启动elasticsearch
$ nohup /home/elasticsearch-8.7.1/bin/elasticsearch >/dev/null 2>&1 &
2.5 生成账号密码
在其中一台节点执行命令设置账号密码
$ ./bin/elasticsearch-setup-passwords interactive #跟着提示一步步设置密码即可
3. 集群验证
3.1 查看集群节点
[root@es01 home]# curl -u "elastic:Sre@202308" http://10.0.0.101:9200/_cat/nodes
10.0.0.101 36 98 2 0.16 0.11 0.13 cdfhilmrstw - es01
10.0.0.102 66 91 6 0.03 0.10 0.13 cdfhilmrstw - es02
10.0.0.103 38 98 7 0.09 0.14 0.16 cdfhilmrstw * es03
[root@es01 home]#
3.2 查看集群健康状态
[root@es01 home]# curl -u "elastic:Sre@202308" http://10.0.0.101:9200/_cat/health
1692270404 11:06:44 sretest green 3 3 3213 1653 0 0 0 0 - 100.0%
[root@es0-1 home]#
关于ES的常见错误,请见:
《总结—elasticsearch启动失败的几种情况及解决》
《升级Elasticsearch到8.7.1版本,我给自己挖了很多坑…》