優化
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...