我跟着一些网页教程提示部署我的集群,发现我集群里面的服务器互相看不到,于是咨询了我的老师,加上自己的实验终于成功了。因为之前网上找的参数和我的版本没对上,导致起不来,我这个集群服务器版本是8.3.1
1 开始安装elasticsearch,导入gpg-key
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
2 建elasticsearch 的yum仓库, vim /etc/yum.repos.d/elasticsearch.repo 并且在库中输入以下内容:
[elasticsearch] name=Elasticsearch repository for 8.x packages baseurl=https://artifacts.elastic.co/packages/8.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=0 autorefresh=1 type=rpm-md
3 开始安装
yum install --enablerepo=elasticsearch elasticsearch
4 重新启动配置文件,以及设置开机启动
1. systemctl daemon-reload 2. systemctl enable --now elasticsearch.service
4 可以开机启动elasticsearch,然后检测端口9200,9300是否起来了,如果能监听到这两个端口,则说明安装正确(9300端口是ES节点之间的通讯使用,9200端口是ES节点和外部通讯使用)
netstat -anpt
5 需要部署几台服务器,重复上面步骤即可,我是用的三台做实验。注意!!!开启elasticsearch和检测端口只是检测能否正常使用,但是请一定记得关闭elasticsearch,再进行配置文件更改,以免服务器集群失败。等配置文件更改完毕,再按照顺序开启elasticsearch(先开启主服务器)
6 域名解析请别忘记了 vim /etc/hosts
7 修改配置文件参数 vim /etc/elasticsearch/elasticsearch.yml
cluster.name: zhuzhu_elk cluster.initial_master_nodes: ["192.168.40.136","192.168.40.137","192.168.40.138"] node.name: elk01 path.data: /var/lib/elasticsearch path.logs: /var/log/elasticsearch bootstrap.memory_lock: false network.host: 0.0.0.0 http.port: 9200 discovery.seed_hosts: ["192.168.40.137", "192.168.40.138"] xpack.security.enabled: false xpack.security.transport.ssl.enabled: false xpack.security.http.ssl.enabled: false
注: node.name 名字和域名解析上的一致,我偷懒用的scp方式复制的配置文件,只需要更改node.name和discovery.seed_hosts部分即可
8 使配置文件生效,且按顺序开启
1. systemctl daemon-reload 2. systemctl start elasticsearch.service
9 检查集群健康状态,total.node 则会显示几个,虽然我没配置data.node 但是数据也会显示,因为默认每个es都可以充当node.data
curl -X GET "localhost:9200/_cat/health?v"
正确结果,图示
那么集群就配置成功了哦~~~
10 查看集群节点信息
curl -X GET "localhost:9200/_cat/nodes?v"
如果出现多次更改配置文件,或者是单独成集群的现象,建议删除掉elasticsearch 的日志和数据(仅测试情况,或者刚搭建时候哈,别冲动)
1. rm -rf /var/log/elasticsearch/* 2. rm -rf /var/lib/elasticsearch/*
如果存在报错,可以具体检查问题日志
journalctl -xu elasticsearch