Elasticsearch(ES)集群的搭建

1. 概述

 Elasticsearch(ES)集群支持分片和副本,能够很容易的实现负载均衡、扩容、容灾、高可用。

 今天我们就来聊一下,Elasticsearch(ES)集群是如何搭建的。

 

2. 场景介绍

服务器A IP:192.168.1.8

服务器B IP:192.168.1.144

服务器C IP:192.168.1.22

三台服务器都已安装单点的 Elasticsearch(ES),单点 Elasticsearch(ES)的安装请参见我的另一篇文章《分布式搜索引擎Elasticsearch(ES)在CentOS7中的安装》。

 

3.Elasticsearch(ES)集群的搭建

 3.1 清除旧数据

 三台服务器都执行

 # cd /usr/local/elasticsearch-7.14.1/data

 # rm -rf nodes/

 

 3.2 修改Elasticsearch配置文件

 # cd  /usr/local/elasticsearch-7.14.1/config

 # vi elasticsearch.yml

 服务器A配置:

 

 

 

 服务器B配置:

 

 

 

服务器C配置:

 

 

  

3.3 启动三台服务器的Elasticsearch(ES)

# su esuser

# cd  /usr/local/elasticsearch-7.14.1/bin

# ./elasticsearch

 

可以使用Head插件查看Elasticsearch集群的信息,连接哪台服务器,显示的信息一样。

一主二从架构。

 

 3.4 集群分片测试

 新建一个索引 index_user,分片数为3,副本数为1。

 再新建一个索引 index_product,分片数为3, 副本数为2。

 通过Head插件能够看出,主分片和副本被分配到了不同的服务器,任意一台机器宕机,对数据都没有影响,很好的实现了容灾和高可用机制。

 因为每个分片被分配的机器不同,当读取时,Elasticsearch会采用轮询读取主副分片的策略,从而实现了负载均衡的机制。

 通过设置主分片的数量实现扩容。

 

 

  3.5 宕机测试

 

 

  1)停用从节点

  停用一个从节点后,集群健康值变为黄色,对外服务不受影响。

  

   2)停用主节点

   停用主节点后,其中一个从节点会被选举为主节点,集群健康值变为黄色,对外服务不受影响。

 

 

4. 综述

今天简单聊了一下 Elasticsearch(ES)集群的搭建,希望可以对大家的工作有所帮助。

欢迎帮忙点赞、评论、加关注 :)

关注追风人聊Java,每天更新Java干货。

posted @ 2021-09-23 10:05  追风人聊Java  阅读(189)  评论(0编辑  收藏  举报