elasticsearch7 0配置優化

2021-10-01 01:28:50 字數 1670 閱讀 5556

優化

es的安裝和配置是非常輕量級的,為滿足多種不同的應用場景,底層提供多種資料結構支援,並做了大量的預設配置優化,部分配置針對具體的使用者使用場景可能是冗餘的,甚至可能造成效能的下降,需要根據實際業務場景做適當取捨,我們結合自身使用場景做了如下優化(文章中有疏漏或不正確的地方也歡迎點評指正)。

sudo swapoff -a

vm.max_map_count

# 在/etc/sysctl.conf檔案中找到該引數,修改為655300後 執行sysctl -p,不然啟動時會報值太小

常用的配置在兩個檔案裡,分別是 elasticsearch.yml 和 jvm.options(配置記憶體)

-xms10g

-xmx10g

基礎配置:

cluster.name

# 配置es集群名稱,相同名稱的集群會自動識別

node.name

# es7.0集群節點名稱會自動獲取本機hostname,如果不是多例項部署,可不配置該項

path.data

# 指定資料存放目錄,多目錄逗號分隔

path.logs

# 指定日誌存放目錄

network.host

# 指定本機ip位址

# 指定http協議埠 ,多例項部署時需要修改

transport.tcp.port

# 指定tcp協議埠,多例項部署時需要修改

cluster.initial_master_nodes: [" "]

# 指定主節點列表,需要在每個節點上配置該引數

discovery.zen.ping.unicast.hosts:

# 廣播節點

優化配置:

bootstrap.memory_lock: true

#設定為true鎖住記憶體,當服務混合部署了多個元件及服務時,應開啟此操作,允許es占用足夠多的記憶體。

indices.breaker.request.limit: 10%

#設定單個request請求的記憶體熔斷限制,預設是jvm堆的60%(es7.0引入了新的記憶體熔斷機制,會智慧型判斷,規避oom)。

index.merge.scheduler.max_thread_count: 1

#設定segment合併時占用的執行緒數,配置執行緒數越多對磁碟io消耗就越大(ssd忽略)。

indices.queries.cache.size:20%

#query請求可使用的jvm記憶體限制,預設是10%。

indices.requests.cache.size:2%

#查詢request請求的dsl語句快取,被快取的dsl語句下次請求時不會被二次解析,可提公升檢索效能,預設值是1%。

indices.fielddata.cache.size:30%

#設定字段快取的最大值,預設無限制。

node.attr.box_type: hot

#用來對索引資料進行冷熱分離,需要注意的是 setting 中也要進行相關配置 "index.routing.allocation.require.box_type": "hot"

面試70技巧

1 請你自我介紹一下你自己,1 如果你確實熱愛這個職業,那你就要不斷學習,虛心向領導和同事學習業務知識和處事經驗,了解這個職業的精神內涵和職業要求,力爭減少差距 2 你覺得這個職業可有可無,那還是趁早換個職業,去發現適合你的,你熱愛的職業,那樣你的發展前途也會大點,對單位和個人都有好處。10 在完成...

模擬測試70

t1 根據三角形相似可得 y frac x frac 後面必須是整數,乙個乙個試即可。時間複雜度 o sqrt t2 考慮dp。設 dp i 為以第 i 個點結束的最優代價,s i j 為區間 i,j 的不同值個數。發現當不同值個數大於 sqrt 時,一定不是最有決策。用鍊錶維護可能出現最優決策的點...

elasticsearch配置詳解

elasticsearch的config資料夾裡面有兩個配置檔案 elasticsearch.yml和logging.yml,第乙個是es的基本配置檔案,第二個是日誌配置檔案,es也是使用log4j來記錄日誌的,所以logging.yml裡的設定按普通log4j配置檔案來設定就行了。下面主要講解下e...