刨根問底 | Elasticsearch 5.X集羣多節點角色配置深刻詳解【轉】

轉自:https://blog.csdn.net/laoyang360/article/details/78290484

一、問題引出

ES5.X節點類型多了ingest節點類型。 
針對3個節點、5個節點或更多節點的集羣,如何配置節點角色才能使得系統性能最優呢? 
這裏寫圖片描述html

二、ES2.X及以前版本節點角色概述

這裏寫圖片描述

三、ES5.X節點角色清單

這裏寫圖片描述
因爲其餘幾種類型節點和用途都很好理解,無非主節點、數據節點、路由節點。node

Ingest的用途: 
1)Ingest節點和集羣中的其餘節點同樣,可是它可以建立多個處理器管道,用以修改傳入文檔。相似 最經常使用的Logstash過濾器已被實現爲處理器。elasticsearch

2)Ingest節點 可用於執行常見的數據轉換和豐富。 處理器配置爲造成管道。 在寫入時,Ingest Node有20個內置處理器,例如grok,date,gsub,小寫/大寫,刪除和重命名。ide

3)在批量請求或索引操做以前,Ingest節點攔截請求,並對文檔進行處理。 
這樣的處理器的一個例子能夠是日期處理器,其用於解析字段中的日期。 
另外一個例子是轉換處理器,它將字段值轉換爲目標類型,例如將字符串轉換爲整數。性能

四、ES5.X節點組合類型有多種類型,如何抉擇?

Elasticsearch的員工 Christian_Dahlqvist解讀以下:優化

一個節點的缺省配置是:主節點+數據節點兩屬性爲一身。對於3-5個節點的小集羣來說,一般讓全部節點存儲數據和具備得到主節點的資格。你能夠將任何請求發送給任何節點,而且因爲全部節點都具備集羣狀態的副本,它們知道如何路由請求。ui

一般只有較大的集羣才能開始分離專用主節點、數據節點。 對於許多用戶場景,路由節點根本不必定是必需的。es5

專用協調節點(也稱爲client節點或路由節點)從數據節點中消除了聚合/查詢的請求解析和最終階段,並容許他們專一於處理數據。 
在多大程度上這對集羣有好處將因狀況而異。 一般我會說,在查詢大量使用狀況下路由節點更常見。.net

五、ES5.X集羣中如何設置節點角色

對於3個節點、5個節點甚至更多節點角色的配置,Elasticsearch官網、國內外論壇、博客都沒有明確的定義。 
這裏寫圖片描述 
個人思考以下: 
1)對於Ingest節點,若是咱們沒有格式轉換、類型轉換等需求,直接設置爲false。 
2)3-5個節點屬於輕量級集羣,要保證主節點個數知足((節點數/2)+1)。 
3)輕量級集羣,節點的多重屬性如:Master&Data設置爲同一個節點能夠理解的。 
4)若是進一步優化,5節點能夠將Master和Data再分離。翻譯

六、小結

1)Elasticsearch博大精深,尤爲新的5.X特性比較多,須要進一步深刻研究; 
2)集羣的配置還有賴於進一步事件總結,再好的理論部署實踐都是「花瓶」; 
3)貌似圖示劃分了這麼細、寫了那麼多,以官網爲基準,也順帶調研了N多文檔,但對Ingest節點的做用依然理解的不夠深。但願你們評論探討下。

參考: 
[1]https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html#data-node 
(5.x官網) 
[2] https://www.elastic.co/guide/en/elasticsearch/reference/2.4/modules-node.html 
(2.x官網) 
[3] https://discuss.elastic.co/t/master-and-client-node-role-clarifications/104036/2 
(ES員工回覆) 
[4] https://blog.trifork.com/2017/02/02/elasticsearch-ingest-node/ 
(ingest節點使用詳解) 
[5] https://wenchao.ren/archives/375 
(官網原文翻譯) 
[6] http://www.cnblogs.com/liang1101/p/7284205.html (國內的哥們思考過,但我認爲不徹底對)

相關文章
相關標籤/搜索