1. 程式人生 > >Elasticsearch 橫向擴容以及容錯機制

Elasticsearch 橫向擴容以及容錯機制

技術分享 har png strong last replica pri arch 資源

寫在前面的話:讀書破萬卷,編碼如有神
--------------------------------------------------------------------

參考內容:

  《Elasticsearch頂尖高手系列-快速入門篇》,中華石杉

--------------------------------------------------------------------

主要內容包括:

  • 橫向擴容
  • 容錯機制

--------------------------------------------------------------------

1、Elasticsearch橫向擴容

1.1、primary shard 和 replica shard自動負載均衡

目前情況:2個node, 3個primary shard,3個replica shard

技術分享圖片

如果此時給es集群增加一個節點(node),es會自動對primary shard和replica shard進行負載均衡

技術分享圖片

1.2、每個Node有更少的shard, IO/CPU/Memory資源給每個shard分配更多,每個shard性能更好

1.3、擴容的極限,6個shard(3個primary shard,3個replica shard),最多擴容到6臺機器,每個shard可以占用單臺服務器的所有資源,性能最好

技術分享圖片

--------------------------------------------------------------------

2、Elasticsearch容錯機制

2.1、master選舉、replica容錯、數據恢復

目前es集群情況:3個node,9個shard(3個primary shard,6個replica shard)

技術分享圖片

如果此時master node宕機:

技術分享圖片

因為Node1節點宕機了,所以primary shard0、replica shard1、replica shard2三個3shard就丟失了。master node宕機的一瞬間,primary shard0這個shard就沒有了,此時就不是active status,所以集群的狀態為red.

容錯第一步:master選舉,自動選舉另外一個node成為新的master,承擔起master的責任來

技術分享圖片

容錯第二步:新master將丟失的primary shard的某個replica shard提升為primary shard,此時cluster status會變為Yellow,因為所有的primary shard都變成了active status,但是,少了一個replica shard,所以不是所有的replica shard都是active。

技術分享圖片

容錯第三步:重啟故障的node, new master節點將會把缺失的副本都copy一份到該node上去,而且該node會使用之前已有的shard數據,只是同步一下宕機之後發生的改變。

技術分享圖片

此時es cluster的狀態為green,因為所有的primary shard和replica shard都是active狀態。

--------------------------------------------------------------------

Elasticsearch 橫向擴容以及容錯機制