管理 ES 叢集:集常見的叢集部署方式

CrazyZard發表於2020-02-18
  • 不同角色的節點

    • Master eligible / Data / Ingest / Coordinating / Machine Learning
  • 在開發環境中,一個節點可承擔多種角色

  • 在生產環境中

    • 根據資料量,寫入和查詢的吞吐量,選擇適合的部署方式
    • 建議設定單一角色的節點(dedicated node)

一個節點在預設情況下會同時扮演: master eligible ,data node 和 ingest node

節點型別 配置引數 預設值
master eligible node.master true
data node.data true
ingest node.ingest true
coodrinating only 設定上面三個引數全部為false
machine learning node.ml true(需要 enable x-pack)

一個節點只承擔一個角色

管理 ES 叢集:集常見的叢集部署方式

  • Dedicated master eligible nodes:負責叢集狀態(cluster state)的管理
    • 使用低配置的 CPU ,RAM 和磁碟
  • Dedicated data nodes: 負責資料儲存及處理客戶端請求
    • 使用高配置的 CPU,RAM 和磁碟
  • Dedicated ingest nodes: 負責資料處理
    • 使用高配置的 CPU ;中等配置的RAM;低配置的磁碟
  • 配置:將 Master ,Data ,Ingest 都配置成 Flase
    • Medium / High CUP; Medium / High RAM;Low Disk
  • 生產環境中,建議為一些大的叢集配置 Coordinating Only Nodes
    • 扮演 Load Balancers。 降低 Master 和 Data Nodes 的負載
    • 負載搜尋結果的 Gather / Reduce
    • 有時候無法預知客戶端會發生怎樣的請求
      • 大量佔用記憶體的結合操作,一個深度聚合可能引發 OOM
  • 從高可用 & 避免腦裂的角色出發
    • 一般在生產環境中配置3臺
    • 一個叢集只有1臺活躍的主節點
      • 負載分片管理,索引建立,叢集管理等操作
  • 如果和資料節點或者 Coordinate 節點混合部署
    • 資料節點相對有比較大的記憶體佔用
    • Coordinate 節點有時候可能會有開銷很高的查詢,導致OOM
    • 這些都有可能影響 Master 節點,導致叢集的不穩定
  • 當磁碟容量無法滿足需求時,可以增加資料節點;磁碟讀寫壓力大時,增加資料節點

管理 ES 叢集:集常見的叢集部署方式

水平擴充套件:Coordinating Only Node

  • 當系統中有大量的複雜查詢及聚合時候,增加 Coordinating 節點,增加查詢的效能

管理 ES 叢集:集常見的叢集部署方式

管理 ES 叢集:集常見的叢集部署方式

管理 ES 叢集:集常見的叢集部署方式

  • 叢集處在三個資料中心;資料三寫;GTM 分發讀請求

管理 ES 叢集:集常見的叢集部署方式

本作品採用《CC 協議》,轉載必須註明作者和本文連結

快樂就是解決一個又一個的問題!

相關文章