1. 程式人生 > >Elasticsearch學習筆記(四)ElasticSearch分布式機制

Elasticsearch學習筆記(四)ElasticSearch分布式機制

clas cse 負載均衡 丟失 數據 不可 分布式 復雜 發生


一、Elasticsearch對復雜分布式機制透明的隱藏特性


1、分片機制:


(1)index包含多個shard,每個shard都是一個最小工作單元,承載部分數據,lucene實例,完整的建立索引和處理請求的能力
(2)shard分為:primary shard和replica shard。
primary shard:接受寫和讀請求。
replica shard是primary shard的副本,負責容錯,以及承擔讀請求負載 。
1)primary shard的數量在創建索引的時候就固定了,replica shard的數量可以隨時修改(primary shard的默認數量是5,replica默認是1,默認有10個shard,5個primary shard,5個replica shard )。
2)primary shard不能和自己的replica shard放在同一個節點上(否則節點宕機,primary shard和副本都丟失,起不到容錯的作用),但是可以和其他primary shard的replica shard放在同一個節點上
3)每個document肯定只存在於某一個primary shard以及其對應的replica shard中,不可能存在於多個primary shard
4)增減節點時,shard會自動在nodes中負載均衡
(3)設置索引的primary shard和replica shard
PUT /index

{
"settings" : {
"number_of_shards" : 3,
"number_of_replicas" : 1
}

}

2、集群發現、擴容機制:


(1)集群發現:新增的節點自動加入集群,並且接收到部分replica shard
(2)集群擴容:
垂直擴容:服務器總數不變,通過單臺服務器支撐更多的數據進行擴容
水平擴容:單臺服務器支撐的數據量保持不變,通過增加服務器數量進行擴容( 優先采用方案, 一般采用水平擴容方案)

3、shard副本、負載均衡、重分配機制:


(1)shard副本:

(2)負載均衡:增加很減少節點時自動進行數據的rebalance,es自動根據當前的負載均衡情況自己進行數據的重新負載均衡

(3)重分配機制:


4、master節點推舉機制和replica shard容錯機制


(1)master節點:用於管理集群元數據(比如索引新增,刪除等),索引元數據,節點的新增和移除,默認情況下,會自動選擇一個節點作為matster節點

(2)replica shard容錯機制
如果一個master節點宕機,則master會自動選擇一個node作為新的master以承擔master的責任。新的master將丟失掉的某個primary shard的replica shard提升為primary shard(此時,少了一個replica shard,導致並不是所有的replica shard都是active狀態了,相應的集群的健康顏色值會發生變化)

5、節點平等的分布式架構


(1)節點對等,每個節點都能接收所有的請求
(2)自動請求路由
(3)響應收集

Elasticsearch學習筆記(四)ElasticSearch分布式機制