Elastic 分片設計及管理

分片設計

  • Es分片水平擴展/rebalancing
    創建索引時,爲索引設計的分片數,會自動分佈在集羣的節點上,當節點增加時,es也會自動進行分片的移動,這叫做 shard rebalancing

  • 多分片的好處:

  1. 數據寫入可以分散到多個機器上
  2. 查詢可以並行進行
  3. 增加機器,可以no downtime 的水平擴展/分片的重新分配
  • 分片的設計與管理——分片是ES存儲數據的地方,本質是一個lucene的索引,分片是ES機器實現水平擴展的最小單位,用她來存儲數據必然會消耗系統的性能,如果存儲的數據過大,則性能必然不佳。

  • 分片從存儲的物理角度:

  1. ES官方建議日誌應用,單個分片大小最好小於50G
  2. 搜索類應用,單個分片最好小於20G
  • 控制分片大小的原因:
  1. 提高update的性能
  2. 減少merge所需的資源
  3. 丟失節點,更快速的rebalance

副本分片的設計

  1. 副本是主分片的拷貝
  2. 副本可以提高系統可用性:查詢請求時,防止數據丟失
  3. 需要佔用和主分片一樣的資源
  • 增加副本分片對性能的影響:
  1. 會降低寫入的速度,寫兩份,CPU資源消耗
  2. 會減緩對主分片的查詢能力,但是會消耗同樣的內存資源
  3. 在機器資源充分的情況下,提高查詢的qps

分片案例優化分析

集羣分片

這裏單個索引1.88TB /40分片 正好是 48G ,但是是搜索類的分片,應該改爲不超過20G

然後副本分片爲0 ,可以增加 副本分片 提高查詢的吞吐量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章