ES中 節點數量,分片數量,副本數量關係配比

2021-10-19 14:01:17 字數 1120 閱讀 5531

副本分片數量

總結一下

建立索引庫的時候,要設計分片數量和副本數量,分片和副本是分布式搜尋引擎的核心。

如何指定分片進行增刪改查操作?

每個分片儲存多少資料合適?

我們的文件存在哪個分片中?

為什麼不可以修改主分片數量?

一次完整的es查詢流程怎麼流的?

節點數量很好說,你要是只有兩三個伺服器,還想啥自行車呢。

當然節點的數量還是有約束的。

一般情況下:

集群所有索引的副本最大值+1 <= 集群節點數量 <= 分片數量

這個公式舉個例子:

你有十個節點,這十個節點中最大索引副本數量只能是9個,這九個副本在另外九個節點中,乙個節點存乙個,滿足了master分配分片的原則。並且節點數量小於等於分片數量。

一次完整的es查詢流程:

分片數量取決於你的集群規模以及你想達到的併發程度。

分片的大小一般在50gb以內。

為什麼分片數量不可以實時修改?

我們的文件到底存放在哪個分片中?

文件存於分片不是隨機存的,隨機存的話,以後怎麼查詢啊,是有一定公式的。

索引資料的分片規則

shard_num = hash(_routing) % num_primary_shards

可以看得出來,你的文件存在哪個分片跟主分片的數量有關係,如果你想改主分片數量就改主分片數量,那你的文件怎麼說,你還能找到它嗎。

通俗的話來說:

乙個副本可以容忍單點故障

兩個副本可以容忍兩點故障

看起來彷彿副本數量越多,容錯率就越高,需要注意乙個東西,你的伺服器是有容量的,就好比資料庫中的索引一樣,都知道索引是個好東西,但是它非常吃記憶體。

一般情況下,副本數量取決於你想實現多高的資料可用性以及你有多少可用儲存空間。

1、相同分片的副本不會放在同乙個節點。

比如這個分片有兩個副本,這兩個副本不可以在同乙個節點。

2、es禁止同乙個分片的主分片和副本分片在同乙個節點。

比如單節點es,不允許有副本分片,有副本分片,則集群不健康。

這三者之間是有關係的,三足鼎立,互相限制。

沒有絕對的通用分配數量之說,根據自己業務進行壓力測試,在不斷的實踐中找到合適的數量設計。

es 分片數量

適當的提公升分片數量可以提公升建立索引的速度 一般情況下 乙個索引庫建立5 20個分片是最合適的 注意 如果分片過少或者過多,都會降低檢索的速度 分片數過多會導致 1 會導致開啟比較多的檔案 2 分片是儲存在不同機器上的,分片數越多,機器之間的互動也就越多 分片數太少導致 單個分片索引過大,降低整體...

位元幣節點數量減少14

據bitnodes統計,今年位元幣區塊鏈上的 可達節點 reachable nodes 數量減少了13.95 從11845個到10193個 截至發稿時 同一時間,不可達節點 unreachable nodes 的數量也至少有30 的 reachable nodes指的是既可以傳送又可以接收來自位元幣...

二叉樹節點數量關係

node 表示一棵樹節點總數量 node1 表示度為1的節點數量 node2 表示度為2的節點數量 leaf 表示葉子節點的數量 line 表示一棵樹中莖 也就是兩個節點之間的連線 的數量 顯然 node 1 line node node1 node2 leaf line node1 2 node2...