1. 程式人生 > 實用技巧 >elasticsearch7.8.0引數詳解,配置優化

elasticsearch7.8.0引數詳解,配置優化

優化

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的超時時間