1. 程式人生 > >ES 配置解析---持續更新中

ES 配置解析---持續更新中

discovery.zen.publish_timeout

主節點會把跟新的元資料資訊傳送給其他節點,並且等待他們更新成功的通知。這個等待時間就是discovery.zen.publish_timeout,預設30秒

node.portsfile

如果引數值為true,logs目錄下就會生成http.ports,transport.pots檔案,檔案中記錄節點的ip於協議對應的埠號。

bootstrap.seccomp

這個引數是設定對系統呼叫的過濾,由於作業系統有大量的系統呼叫,如果使用者程式隨意呼叫這些系統呼叫的話可能引起系統安全問題,bootstrap.seccomp=true時將限制ES對系統呼叫的呼叫,注意該引數在5.2.X的時候改成bootstrap.system_call_filter,且在6.X中禁用。

index.max_result_window

ES中分頁查詢的實現需要指定兩個值:from;size。比如:
from=100000 size=10 那麼查詢的結果就是第100000條資料到100010資料。
對於這種查詢ES實際上的做法卻是把from+size=100010條資料都載入到記憶體中,再去100000~100010這10條資料返回。這樣的做的弊端在於from+size 太大將會耗盡記憶體。因此ES用index.max_result_window這個引數限制from+size。如果一個查詢from+size的大小超過index.max_result_window就會報異常,index.max_result_window的預設值為10000.

discovery.zen.minimum_master_nodes

一個ES叢集由若干個節點組成,這些節點中有若干個節點是候選主節點。叢集啟動都這些候選主節點會參與選舉,直到其中一個節點成為主節點,ES叢集才會提供服務。候選主節點的個數要求達到discovery.zen.minimum_master_nodes ,叢集才會開始選舉主節點。舉個例子:
一個叢集有5個節點,其中候選主節點有3個,discovery.zen.minimum_master_nodes=2.
啟動叢集,候選主節點至少需要啟動2個,這個叢集才能夠選舉出主節點。

ES的執行緒池

threadpool.bulk.type
threadpool.bulk.size
threadpool.bulk.queue_size
每個Elasticsearch節點內部都維護著多個執行緒池,如index、search、get、bulk。
其中bulk執行緒池用於處理批量請求。
threadpool.bulk.type用於指定bulk執行緒池的型別threadpool.bulk.type:fixed表示有著固定大小的執行緒池,大小由threadpool.bulk.size指定,執行緒池有一個請求等待佇列(使用threadpool.bulk.queue_size屬性指定,預設是-1,即無限制)用來儲存請求,直到有一個空閒的執行緒來執行請求。如果Elasticsearch無法把請求放到佇列中(佇列滿了),該請求將被拒絕。

threadpool.search.type
threadpool. search.size
threadpool. search.queue_size

同理這3個引數是用來配置查詢請求的執行緒池的

index.engine.force_new_translog

當這個引數為true時,如果translog丟失了就會重新建立tanslog檔案;
當這個引數為false時,如果translog丟失了會報異常。

index.query.bool.max_clause_count

這個引數用於控制查詢語句中布林條件的個數,如哦一個查詢中的布林條件查過這個值就會報錯

http.max_initial_line_length

ES接受http請求,這個引數用於控制http請求的url大小