elasticsearch集群優化
es集群優化方案:
1.節點職責劃分明確:master節點(控制整個集群),數據節點(存儲數據),客戶端節點(響應用戶,轉發請求);
2.禁用交換分區:
3.關閉data節點服務器的http功能:
4.內存分配
配置詳情
1. 節點職責劃分
主節點:主要職責是和集群操作相關的內容,如創建或刪除索引,跟蹤哪些節點是群集的一部分,並決定哪些分片分配給相關的節點。 配置文件定義:node.master: true node.data: false
數據節點:主要是存儲索引數據的節點,主要對文檔進行增刪改查操作,聚合操作等。 配置文件定義:node.master: false node.data: true
客戶端節點:處理路由請求,處理搜索,分發索引操作等,從本質上來講客戶節點表現為智能負載平衡器。配置文件定義:node.master: false node.data: false
2. 禁用交換分區
臨時禁用:
swapoff -a
降低操作系統交換內存的頻率:
在/etc/sysctl.conf中配置:vm.swappiness = 1
配置JVM鎖住內存:
在elasticsearch.yml配置: bootstrap.mlockall: true
3.關閉data節點服務器的http功能
針對ElasticSearch集群中的所有數據節點,不用開啟http服務。將其中的配置 參數這樣設置:http.enabled: false。
同時不要安裝head, bigdesk, marvel等監控插件,保證data節點服務器只需處理創建/更新/刪除/查詢索引數據等操作。
4.內存分配
配置機器50%的內存給elasticsearch,預留一半內存給Lucene使用。 修改配置文件/etc/elasticsearch/jvm.options。
elasticsearch集群優化