Elasticsearch(ES)叢集的搭建

追風人聊Java 發表於 2021-09-23
ElasticSearch

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配置:

Elasticsearch(ES)叢集的搭建

 

 

Elasticsearch(ES)叢集的搭建

 

 伺服器B配置:

Elasticsearch(ES)叢集的搭建

 

 

Elasticsearch(ES)叢集的搭建

 

伺服器C配置:

Elasticsearch(ES)叢集的搭建

 

 

Elasticsearch(ES)叢集的搭建

  

3.3 啟動三臺伺服器的Elasticsearch(ES)

# su esuser

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

# ./elasticsearch

 

可以使用Head外掛檢視Elasticsearch叢集的資訊,連線哪臺伺服器,顯示的資訊一樣。

一主二從架構。

Elasticsearch(ES)叢集的搭建

 

 3.4 叢集分片測試

 新建一個索引 index_user,分片數為3,副本數為1。

 再新建一個索引 index_product,分片數為3, 副本數為2。

 通過Head外掛能夠看出,主分片和副本被分配到了不同的伺服器,任意一臺機器當機,對資料都沒有影響,很好的實現了容災和高可用機制。

 因為每個分片被分配的機器不同,當讀取時,Elasticsearch會採用輪詢讀取主副分片的策略,從而實現了負載均衡的機制。

 通過設定主分片的數量實現擴容。

 Elasticsearch(ES)叢集的搭建

 

  3.5 當機測試

  Elasticsearch(ES)叢集的搭建

 

  1)停用從節點

  停用一個從節點後,叢集健康值變為黃色,對外服務不受影響。

  Elasticsearch(ES)叢集的搭建

   2)停用主節點

   停用主節點後,其中一個從節點會被選舉為主節點,叢集健康值變為黃色,對外服務不受影響。

 Elasticsearch(ES)叢集的搭建

 

4. 綜述

今天簡單聊了一下 Elasticsearch(ES)叢集的搭建,希望可以對大家的工作有所幫助。

歡迎幫忙點贊、評論、加關注 :)

關注追風人聊Java,每天更新Java乾貨。