Elasticsearch 橫向擴容以及容錯機制
寫在前面的話:讀書破萬卷,編碼如有神
--------------------------------------------------------------------
參考內容:
《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 橫向擴容以及容錯機制