四、Elasticsearch 基礎分佈式架構

Elasticsearch 是一套分佈式的系統,分佈式是爲了應對大數據量

Elasticsearch 對複雜分佈式機智的透明隱藏特性

  • 分片機制
  • cluster discovery(集羣發現機制)
  • shard 負載均衡
  • shard 副本

Elasticsearch 垂直擴容和水平擴容

假設共有6臺服務器,每臺服務器1T容量。現在數據即將增加到8T,此時有下面量方案:

  • 垂直擴容:重新購置兩臺服務器,每臺服務器的容量是2T,將老的兩臺服務器進行替換,那麼現在的6臺服務器的總容量爲:4 * 1T + 2 * 2T = 8T。採購更強大的服務器,成本非常高昂,而且會有瓶頸
  • 水平擴容【推薦】:新購置兩臺服務器,每臺服務器的容量是1T,直接加入到集羣中,那麼現在的服務器總容量爲:8 * 1T = 8T。

增加或減少節點時數據會rebalance

es 會自動分配 shard,讓服務器承受的壓力和請求儘可能的均勻

master 節點

  1. 管理es集羣的元數據
  • 索引的創建和刪除,維護索引的元數據
  • 節點的增加和移除,管理集羣的元數據
  1. 默認情況下,會自動選取一臺節點,作爲master節點

節點平等的分佈式架構

  1. 節點對等:每個節點都能接收所有的請求
  2. 自動請求路由
  3. 相應收集

shard&replica機制總結

  1. index 包含多個 shard
  2. 每個shard都是一個最小工作單元,承載部分數據,每個shard底層都是一個lucene實例,有完整的建立索引和處理請求的能力
  3. 增減節點時,shard會自動在nodes中負載均衡
  4. primary shardreplica shard ,每個document肯定只存在於某一個primary shard 以及其對應的replica shard 中,不可能存在於多個 primary shard
  5. replica shardprimary 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 shardreplica shard 數據都丟失了,起不到容錯的作用),但是可以和其他 primary shardreplica shard 放在同一個節點上
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章