elasticsearch7.8.0引數詳解,配置優化
阿新 • • 發佈:2021-01-11
優化
es的安裝和配置是非常輕量級的,為滿足多種不同的應用場景,底層提供多種資料結構支援,並做了大量的預設配置優化,部分配置針對具體的使用者使用場景可能是冗餘的,甚至可能造成效能的下降,需要根據實際業務場景做適當取捨,我們結合自身使用場景做了如下優化(文章中有疏漏或不正確的地方也歡迎點評指正)。
一、環境配置
sudo swapoff -a
# 禁用swapping,開啟伺服器虛擬記憶體交換功能會對es產生致命的打擊
vm.max_map_count
# 在/etc/sysctl.conf檔案中找到該引數,修改為655300後 執行sysctl -p,不然啟動時會報值太小
二、記憶體優化
常用的配置在兩個檔案裡,分別是 elasticsearch.yml 和 jvm.options(配置記憶體)
jvm.options主要是進行記憶體相關配置,elasticsearch預設給的1g,官方建議分配給es的記憶體不要超出系統記憶體的50%,預留一半給Lucene,因為Lucene會快取segment資料提升檢索效能;記憶體配置不要超過32g,如果你的伺服器記憶體沒有遠遠超過64g,那麼不建議將es的jvm記憶體設定為32g,因為超過32g後每個jvm物件指標的長度會翻倍,導致記憶體與cpu的開銷增大。
-Xms10g
-Xmx10g
三、基礎配置
修改配置檔案elasticsearch.yml
# ======================== Elasticsearch Configuration ========================= #----------------------------------- Paths ----------------------------------- path.data: /data/elasticsearch/data path.logs: /data/elasticsearch/logs # ---------------------------------- Cluster ----------------------------------- cluster.name: fcxyes # ------------------------------------ Node ------------------------------------ node.name: slave1 network.host:192.168.112.70 #指定本機ip地址 http.port: 9200 #指定http協議埠,多例項部署時需要修改 transport.tcp.port: 9300 discovery.zen.ping.unicast.hosts: ["192.168.112.70","192.168.112.68","192.168.112.71"] #指定主節點列表,需要在每個節點上配置該引數 discovery.zen.minimum_master_nodes: 2 transport.tcp.compress: true node.data: true #是否允許被選為node節點 node.master: true #是否允許被選為master節點 discovery.zen.ping_timeout: 6s #es選舉master的超時時間