1. 程式人生 > >Elasticsearch主要配置及性能調優

Elasticsearch主要配置及性能調優

系統/運維 Linux

1、最小主節點數

防止集群發生腦裂,計算方式:( master 候選節點個數 / 2) + 1

技術分享圖片


可以通過修改配置文件elasticsearch.yml

discovery.zen.minimum_master_nodes: 2


或者通過api接口動態修改

curl -XPUT http://127.0.0.1:9200/_cluster/settings -d {
    "persistent" : {
        "discovery.zen.minimum_master_nodes" : 2
    }
}


2、集群恢復配置

gateway.recover_after_nodes: 8  ##Elasticsearch 在存在至少 8
個節點(數據節點或者 master 節點)才進行數據恢復 gateway.expected_nodes: 10 ##集群有多少個節點 gateway.recover_after_time: 5m ##等待節點多長時間

上面三個參數意味著

等待集群至少存在 8 個節點

等待 5 分鐘,或者10 個節點上線後,才進行數據恢復,這取決於哪個條件先達到。


3、最好使用單播

discovery.zen.ping.unicast.hosts: ["host1", "host2:port"]



4、堆內存:大小和交換

根據《Elasticsearch官網》所說分配機器的的一半內存給Lucene,並且不要超過32GB給Elasticsearch;並且避免Elasticsearch使用Swap空間

技術分享圖片

技術分享圖片

技術分享圖片


5、線程池

非必要盡量避免修改線程池,實在需要修改盡量避免超過CPU核心數2倍,官網原文如下:

技術分享圖片


參考資料:

1、https://www.elastic.co/blog/a-heap-of-trouble

2、https://www.elastic.co/guide/cn/elasticsearch/guide/current/important-configuration-changes.html

3、https://elasticsearch.cn/question/3995

Elasticsearch主要配置及性能調優