生活随笔
收集整理的這篇文章主要介紹了
ES初探之——shard和replica
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ES中shard和replica
index包含多個shard每個shard都是一個最小工作單元,承載部分數據,lucene實例,完整的建立索引和處理請求的能力增減節點時,shard會自動在nodes中負載均衡primary shard和replica shard,每個document肯定只存在于某一個primary shard以及其對應的replica shard中,不可能存在于多個primary shardreplica shard是primary shard的副本,負責容錯,以及承擔讀請求負載primary shard的數量在創建索引的時候就固定了,replica shard的數量可以隨時修改primary shard的默認數量是5,replica默認是1,默認有10個shard,5個primary shard,5個replica shardprimary shard不能和自己的replica shard放在同一個節點上(否則節點宕機,primary shard和副本都丟失,起不到容錯的作用),但是可以和其他primary shard的replica shard放在同一個節點上
當索引創建完成的時候,主分片的數量就固定了,但是復制分片的數量可以隨時調整。
讓我們在集群中唯一一個空節點上創建一個叫做blogs的索引。默認情況下,一個索引被分配5個主分片,但是為了演示的目的,我們只分配3個主分片和一個復制分片(每個主分片都有一個復制分片):
當索引創建完成的時候,主分片的數量就固定了,但是復制分片的數量可以隨時調整。
讓我們在集群中唯一一個空節點上創建一個叫做blogs的索引。默認情況下,一個索引被分配5個主分片,但是為了演示的目的,我們只分配3個主分片和一個復制分片(每個主分片都有一個復制分片):
PUT /blogs
{"settings" : {"number_of_shards" : 3,"number_of_replicas" : 1}
}
附帶索引的單一節點集群: 有一個索引的單一節點集群
我們的集群現在看起來就像上圖——三個主分片都被分配到Node 1。
在同一個節點上保存相同的數據副本是沒有必要的,如果這個節點故障了,
那所有的數據副本也會丟失。如果我們啟動了第二個節點,這個集群看起來就像下圖。
雙節點集群——所有的主分片和復制分片都已分配:
第二個節點已經加入集群,三個復制分片(replica shards)也已經被分配了
——分別對應三個主分片,這意味著在丟失任意一個節點的情況下依舊可以保證數據的完整性。文檔的索引將首先被存儲在主分片中,然后并發復制到對應的復制節點上。
這可以確保我們的數據在主節點和復制節點上都可以被檢索。
隨著應用需求的增長,我們該如何擴展?
如果我們啟動第三個節點,集群會重新組織自己
參考來源:https://blog.csdn.net/jiaojiao521765146514/article/details/82761645
https://es.xiaoleilu.com/010_Intro/00_README.html
總結
以上是生活随笔為你收集整理的ES初探之——shard和replica的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。