ElasticStack之前elasticsearch-7.17.23单机及升级集群部署
一、单机部署
1、下载ES软件包
[root@elk01 ~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.23-amd64.deb
2、安装ES软件包
[root@elk01 ~]# dpkg -i elasticsearch-7.17.23-amd64.deb
3.添加别名(可选操作)
[root@elk91 ~]# vim .bashrc
添加如下配置:
alias yy='egrep -v "^.*#|^$"'
4.修改ES的配置文件
[root@elk01 ~]# vim /etc/elasticsearch/elasticsearch.yml
...
# 指定集群的名称
cluster.name: oldboytest
# 指定数据的路径
path.data: /var/lib/elasticsearch
# 指定日志的路径
path.logs: /var/log/elasticsearch
# 指定监听的IP地址
network.host: 0.0.0.0
# 指定监听的端口号
http.port: 9200
# 指定当前节点是一个单点而非集群
discovery.type: single-node
...
[root@elk01~]# yy /etc/elasticsearch/elasticsearch.yml
cluster.name: oldboytest
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200
discovery.type: single-node
5.启动ES服务
[root@01~]# systemctl enable --now elasticsearch.service
[root@01 ~]#
[root@01 ~]# ss -ntl | egrep "9200|9300"
LISTEN 0 4096 *:9300 *:*
LISTEN 0 4096 *:9200 *:*
6.访问测试
[root@elk01 ~]# curl 10.0.0.91:9200
{
"name" : "elk01",
"cluster_name" : "oldboytest",
"cluster_uuid" : "-seW9CK4Qi-upG0y1Nt7Vw",
"version" : {
"number" : "7.17.23",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "61d76462eecaf09ada684d1b5d319b5ff6865a83",
"build_date" : "2024-07-25T14:37:42.448799567Z",
"build_snapshot" : false,
"lucene_version" : "8.11.3",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
[root@elk01 ~]# curl 10.0.0.91:9200/_cat/nodes
10.0.0.91 71 94 4 0.20 0.17 0.25 cdfhilmrstw - elk01
二、单节点升级为ES集群模式
1.拷贝安装包到其他节点
[root@elk01 ~]# scp elasticsearch-7.17.23-amd64.deb 10.0.0.92:~
[root@elk01 ~]# scp elasticsearch-7.17.23-amd64.deb 10.0.0.93:~
2.其他节点安装ES服务
[root@elk02 ~]# dpkg -i elasticsearch-7.17.23-amd64.deb
[root@elk03 ~]# dpkg -i elasticsearch-7.17.23-amd64.deb
3.elk01节点停止服务
[root@elk01~]# systemctl stop elasticsearch.service
4.修改配置文件
[root@elk01 ~]# yy /etc/elasticsearch/elasticsearch.yml
cluster.name: oldboyetest
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["10.0.0.91", "10.0.0.92","10.0.0.93"]
[root@elk01 ~]#
5.将配置文件同步到其他节点
[root@elk01~]# scp /etc/elasticsearch/elasticsearch.yml 10.0.0.92:/etc/elasticsearch/
[root@elk01 ~]#
[root@elk01 ~]# scp /etc/elasticsearch/elasticsearch.yml 10.0.0.93:/etc/elasticsearch/
6.启动服务
[root@elk01 ~]# systemctl enable --now elasticsearch
[root@elk02 ~]# systemctl enable --now elasticsearch
[root@elk03 ~]# systemctl enable --now elasticsearch
7.验证服务是否启动成功
[root@elk01 ~]# curl 10.0.0.93:9200/_cat/nodes
10.0.0.93 78 92 5 0.15 0.18 0.24 cdfhilmrstw - elk03
10.0.0.92 80 92 5 0.20 0.18 0.27 cdfhilmrstw * elk02
10.0.0.91 71 94 4 0.20 0.17 0.25 cdfhilmrstw - elk01
[root@elk01 ~]#
[root@elk01 ~]# for i in 91 92 93; do curl -s 10.0.0.$i:9200 | grep cluster_uuid;done
"cluster_uuid" : "Kb3MqlwYTmqFfQ8Kw_u57A",
"cluster_uuid" : "Kb3MqlwYTmqFfQ8Kw_u57A",
"cluster_uuid" : "Kb3MqlwYTmqFfQ8Kw_u57A",
[root@elk01 ~]#
三、ES常见术语
1. 索引: index
一个ES集群可以有多个索引,索引是用户进行数据读写的逻辑单元。
2. 分片: shard
一个索引最少对应一个分片,实际工作中一个索引尽量对应多个分片,以便于数据的分布式存储。
同一个分片只能属于同一个节点。
3. 副本: replica
对分片进行备份的副本分片。副本和分片不能在同一个节点上。
4. 文档: document
实际用户存储的数据。
4.1 源数据
用户实际存储的数据。
4.2 元数据
用于描述源数据的数据。
5. 分配: allocation
指的是将索引的不同分片分配到整个集群的过程。
共有 0 条评论