Elasticsearch主要配置及性能調優
阿新 • • 發佈:2018-05-04
系統/運維 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主要配置及性能調優