1. 程式人生 > >Elasticsearch技術shard&replica機制

Elasticsearch技術shard&replica機制

shard&replica機制

1.index包含多個shard

2.每個shard都是一個最小工作單元,承載部分資料,lucene例項,完整的建立索引和處理請求的能力

3.增減節點時,shard會自動在nodes中負載均衡

4.primary shard和replica shard,每個document肯定只存在於某一個primary shard以及其對應的replica shard中,不可能存在於多個primary shard

5.replica shard是primary shard的副本,負責容錯,以及承擔讀請求負載

6.primary shard的數量在建立索引的時候就固定了,replica shard的數量可以隨時修改

7.primary shard的預設數量是5,replica預設是1,預設有10個shard,5個primary shard,5個replica shard

8.primary shard不能和自己的replica shard放在同一個節點上(否則節點宕機,primary shard和副本都丟失,起不到容錯的作用),但是可以和其他primary shard的replica shard放在    同一個節點上

ps:在elasticsearch-head裡面,深色框的就是primary shard;elasticsearch-head還有別名的一個說法。

單node環境下建立index

(1)單node環境下,建立一個index,有3個primary shard,3個replica shard
(2)叢集status是yellow
(3)這個時候,只會將3個primary shard分配到僅有的一個node上去,另外3個replica shard是無法分配的
(4)叢集可以正常工作,但是一旦出現節點宕機,資料全部丟失,而且叢集不可用,無法承接任何請求

{
“settings” : {
“number_of_shards” : 3,
“number_of_replicas” : 1
}
}

 2個node環境下replica shard是如何分配的

1.replica shard分配:3個primary shard,3個replica shard,1 node

2.primary ---> replica同步

3.讀請求:primary/replica

 

來源:https://www.cnblogs.com/cnki/p/7497222.html