ElasticSearch優化系列一:集群節點規劃
歡迎關注我們的微信公眾號「人工智慧LeadAI」(ID:atleadai)
節點職責單一,各司其職
elasticSearch的配置文件中有2個參數:node.master和node.data。這兩個參 數搭配使用時,能夠幫助提供伺服器性能。
數據節點node.master: false node.data: true
該node伺服器只作為一個數據節點,只用於存儲索引數據。使該node伺服器功能 單一,只用於數據存儲和數據查詢,降低其資源消耗率。
master節點node.master: true node.data: false
該node伺服器只作為一個主節點,但不存儲任何索引數據。該node伺服器將使用 自身空閑的資源,來協調各種創建索引請求或者查詢請求,講這些請求合理分發到相關 的node伺服器上。
負載均衡節點 node.master: false node.data: false
該node伺服器即不會被選作主節點,也不會存儲任何索引數據。該伺服器主要用 於查詢負載均衡。在查詢的時候,通常會涉及到從多個node伺服器上查詢數據,並請 求分發到多個指定的node伺服器,並對各個node伺服器返回的結果進行一個匯總處理, 最終返回給客戶端。
關閉data節點伺服器中的http功能
針對ElasticSearch集群中的所有數據節點,不用開啟http服務。將其中的配置 參數這樣設置:http.enabled: false,同時也不要安裝head, bigdesk, marvel等監控 插件,這樣保證data節點伺服器只需處理創建/更新/刪除/查詢索引數據等操作。
http功能可以在非數據節點伺服器上開啟,上述相關的監控插件也安裝到這些服 務器上,用於監控ElasticSearch集群狀態等數據信息。
這樣做一來出於數據安全考慮,二來出於服務性能考慮。
一台伺服器上最好只部署一個Node
一台物理伺服器上可以啟動多個Node伺服器節點(通過設置不同的啟動port),但一台伺服器上的CPU,內存,硬碟等資源畢竟有限,從伺服器性能考慮,不建議一台伺服器上啟動多個node節點。
在大規模局點,比如100個點,可以專門配備3個Master,可使用3台具有內存的刀片即可,即參數配置為node.master: true,node.data: false;可以按比例配備數據匯聚節點,比如10個,即參數配置為node.master: false ,node.data: false;小規模節點,可以不用如此設置,當然如果依然有性能問題,也是一個優化的措施。
參考文檔
1、ElasticSearch性能優化策略
2、elasticsearch三個重要的優化
推薦閱讀:
※使用ElasticSearch踩過的坑
※Elasticsearch 5:集群設置與管理(第二篇)
※從Elasticsearch來看分散式系統架構設計
※Elasticsearch與Solr的選擇?
※日誌分析的模式發現功能實現(1)
TAG:Elasticsearch |