1. 程式人生 > >刨根問底 | Elasticsearch 5.X叢集多節點角色配置深入詳解【轉】

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

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

1、問題引出

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

2、ES2.X及之前版本節點角色概述

這裡寫圖片描述

3、ES5.X節點角色清單

這裡寫圖片描述
由於其他幾種型別節點和用途都很好理解,無非主節點、資料節點、路由節點。

Ingest的用途: 
1)Ingest節點和叢集中的其他節點一樣,但是它能夠建立多個處理器管道,用以修改傳入文件。類似 最常用的Logstash過濾器已被實現為處理器。

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

3)在批量請求或索引操作之前,Ingest節點攔截請求,並對文件進行處理。 
這樣的處理器的一個例子可以是日期處理器,其用於解析欄位中的日期。 
另一個例子是轉換處理器,它將欄位值轉換為目標型別,例如將字串轉換為整數。

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

Elasticsearch的員工 Christian_Dahlqvist解讀如下:

一個節點的預設配置是:主節點+資料節點兩屬性為一身。對於3-5個節點的小叢集來講,通常讓所有節點儲存資料和具有獲得主節點的資格。你可以將任何請求傳送給任何節點,並且由於所有節點都具有叢集狀態的副本,它們知道如何路由請求。

通常只有較大的叢集才能開始分離專用主節點、資料節點。 對於許多使用者場景,路由節點根本不一定是必需的。

專用協調節點(也稱為client節點或路由節點)從資料節點中消除了聚合/查詢的請求解析和最終階段,並允許他們專注於處理資料。 
在多大程度上這對叢集有好處將因情況而異。 通常我會說,在查詢大量使用情況下路由節點更常見。

5、ES5.X叢集中如何設定節點角色

對於3個節點、5個節點甚至更多節點角色的配置,Elasticsearch官網、國內外論壇、部落格都沒有明確的定義。 
這裡寫圖片描述 
我的思考如下: 
1)對於Ingest節點,如果我們沒有格式轉換、型別轉換等需求,直接設定為false。 
2)3-5個節點屬於輕量級叢集,要保證主節點個數滿足((節點數/2)+1)。 
3)輕量級叢集,節點的多重屬性如:Master&Data設定為同一個節點可以理解的。 
4)如果進一步優化,5節點可以將Master和Data再分離。

6、小結

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