在Elasticsearch中,有不少角色,經常使用的角色有以下:node
Master Node
:主節點Master eligible nodes
:合格節點Data Node
:數據節點Coordinating Node
:協調節點Ingest Node
:ingest節點三種角色由elasticsearch.yml配置文件中的node.master、node.data等來控制面試
Master Node
:主節點,該節點不和應用建立鏈接,每一個節點都保存了集羣狀態,master節點不佔用磁盤IO和CPU,內存使用量通常。Master eligible nodes
:合格節點,每一個節點部署後不修改配置信息,默認就是一個 eligible 節點,該節點能夠參加選主流程,成爲Mastere節點。該節點也保存了集羣節點的狀態。eligible節點比Master節點更節省資源,由於它還未成爲 Master 節點,只是有資格成功Master節點。Data Node
:數據節點,該節點和索引應用建立鏈接、接收索引請求,該節點真正存儲數據,ES集羣的性能取決於該節點的個數(每一個節點最優配置的狀況下),data節點會佔用大量的CPU、IO和內存。Coordinating Node
:協調節點,該節點和檢索應用建立鏈接、接受檢索請求,但其自己不負責存儲數據,可當負責均衡節點,該節點不佔用io、cpu和內存。Ingest Node
:ingest 節點能夠看做是數據前置處理轉換的節點,支持 pipeline管道 設置,可使用 ingest 對數據進行過濾、轉換等操做,相似於 logstash 中 filter 的做用,功能至關強大。Master Node
:master節點控制整個集羣的元數據。只有Master Node節點能夠修改節點狀態信息及元數據(metadata)的處理,好比索引的新增、刪除、分片路由分配、全部索引和相關 Mapping 、Setting 配置等等。Master eligible nodes
:有資格成爲Master節點但暫時並非Master的節點被稱爲 eligible 節點,該節點只是與集羣保持心跳,判斷Master是否存活,若是Master故障則參加新一輪的Master選舉。Data Node
:data節點的分片執行查詢語句得到查詢結果後將結果反饋給Coordinating節點,在查詢的過程當中很是消耗硬件資源,若是在分片配置及優化沒作好的狀況下,進行一次查詢很是緩慢(硬件配置也要跟上數據量)。Coordinating Node
:協調節點接受客戶端搜索請求後將請求轉發到與查詢條件相關的多個data節點的分片上,而後多個data節點的分片執行查詢語句或者查詢結果再返回給協調節點,協調節點把各個data節點的返回結果進行整合、排序等一系列操做後再將最終結果返回給用戶請求。服務器
Ingest Node
: Ingest節點處理時機——在數據被索引以前,經過預約義好的處理管道對數據進行預處理。默認狀況下,全部節點都啓用Ingest,所以任何節點均可以處理Ingest任務。咱們也能夠建立專用的Ingest節點。Master Node
:Elasticsearch若是作集羣的話Master節點至少三臺服務器或者三個Master實例加入相同集羣(生產建議每一個es實例部署在不一樣的設備上),三個Master節點最多隻能故障一臺Master節點,數據不會丟失,若是三個節點故障兩個節點,則形成數據丟失並沒有法組成集羣。Master eligible nodes
:Elasticsearch若是使用三臺Master作集羣,其中一臺被真正選爲了Master,那麼其它兩臺就是 eligible 節點。Data Node
:在Elasticsearch集羣中,此節點應該是最多的,單個索引在一個data節點實例上分片數保持在3個之內(我以爲分片數量按照Data節點數量劃分比較好,每一個節點上存儲一個分片);每1GB堆內存對應集羣的分片保持在20個之內;每一個分片大小不要超過30G。Coordinating Node
: 增長協調節點可增長檢索併發,但檢索的速度仍是取決於查詢所命中的分片個數以及分片中的數據量。內存建議:假如一臺機器部署了一個ES實例,則ES最大可用內存給到物理內存的50%,最多不可超過32G,若是單臺機器上部署了多個ES實例,則多個ES實例內存相加等於物理內存的50%,多個ES實例內存相加不宜超過32G。架構
分片建議:併發
節點類型 | 配置參數 | 默認值 |
---|---|---|
Master | node.master | true |
Master eligible | node.master | true |
Data | node.data | true |
Coordinating | 無 | 每一個節點都是協調節點,設置其它節點所有爲false則爲協調節點 |
Ingest | node.ingest | true |
Ingest更多概念:https://blog.csdn.net/laoyang...app
※更多文章和資料|點擊後方文字直達 ↓↓↓
100GPython自學資料包
阿里雲K8s實戰手冊
[阿里雲CDN排坑指南] CDN
ECS運維指南
DevOps實踐手冊
Hadoop大數據實戰手冊
Knative雲原生應用開發指南
OSS 運維實戰手冊
雲原生架構白皮書
Zabbix企業級分佈式監控系統源碼文檔
Linux&Python自學資料包
10G面試題戳領