elasticsearch配置引數(總結)及說明

2021-08-15 12:03:42 字數 4993 閱讀 5094

下面的配置在es5以後再版本中使用時需驗證測試,部分引數可能會發生變更(es的人連api都敢大更,這算不了什麼的^!^)

# ********************==== elasticsearch configuration *************************

## es重要配置,修改需謹慎!!!

## ---------------------------------- cluster -----------------------------------

## 集群名字:

#cluster.name: my-cluster

## ------------------------------------ node ------------------------------------

## 節點名字:

#node.name: node-01

## 為節點新增部落屬性(一般無需修改使用預設路徑即可):

##node.attr.rack_id: r1

#cluster.routing.allocation.awareness.attributes: rack_id

## 節點用途:

#node.master: true

node.data: true

## 當同一臺機器部署多個節點的時候只能有乙個節點設定node.master:true;

# 並且若修改了http.port、transport.tcp.port一定要將各個節點的值設定不同,

# 否則會出現占用的情況,正常如果不修改,缺省會分配值;

# 同一機器上覆制節點的時候一定要注意不可具有相同的資料目錄,也不能複製原節點的data目錄。

## ----------------------------------- paths ------------------------------------

## 資料儲存路徑(一般無需修改使用預設路徑即可;多路徑逗號分隔):

##path.data: /path/to/data

## 日誌儲存路徑(一般無需修改使用預設路徑即可):

##path.logs: /path/to/logs

## ----------------------------------- memory -----------------------------------

## 啟動後是否鎖定記憶體:

#bootstrap.memory_lock: false

## 需可確定系統中一半兒的記憶體是可以獲得的並且當前使用者擁有使用這只限定值的許可權,

# 確保 es_min_mem 和 es_max_mem 環境變數設定為相同的值, 以及機器有足夠的記憶體

# 分配給elasticsearch 。

# 注意:記憶體也不是越大越好,一般64位機器,最大分配記憶體別超過32g

##當記憶體達到一定比例的時候會觸發記憶體**(預設是jvm的70%):

#indices.breaker.total.limit: 70%

## 當記憶體不夠的時候將會對查詢結果資料快取進行**:

#index.cache.field.type: soft##

index.cache.field.max_size: 20000

index.cache.field.expire: 10m

## 用於fielddata快取的記憶體數量,主要用於當使用排序,faceting操作時,elasticsearch

# 會將一些熱點資料載入到記憶體中來提供給客戶端訪問:

#indices.fielddata.cache.expire: 20m

indices.fielddata.cache.size: 30%

## 執行資料過濾時的資料快取(預設10%或填寫具體值如512m):

#indices.cache.filter.size: 20%

indices.cache.filter.expire: 20m

## 當translog的大小達到此值時會進行一次flush操作.預設是512mb:

#index.translog.flush_threshold_size: 1g

## 多少時間進行一次的寫磁碟操作,預設是5s:

#index.gateway.local.sync: 10s

## 在指定的時間間隔內如果沒有進行flush操作,會進行一次強制flush操作.預設是30m:

#index.translog.flush_threshold_period: 30m

## 多少時間間隔內會檢查一次translog,來進行一次flush操作.es會隨機的在這個值到

# 這個值的2倍大小之間進行一次操作,預設是5s:

#index.translog.interval: 3s

## ---------------------------------- network -----------------------------------

## 設定節點繫結位址 (ipv4 or ipv6):

#network.host: 127.0.0.1

## 設定http訪問埠:

## 使用http協議對外提供服務,預設為true,開啟:

## 資料傳輸、節點連線埠:

transport.tcp.port: 9300

## --------------------------------- discovery ----------------------------------

## 關閉多播:

#discovery.zen.ping.multicast.enabled: false

## 單播節點列表:

#discovery.zen.ping.unicast.hosts: ["host1", "host2", "host3"]

## 抑制腦裂引數 (具備選舉為主節點的節點數 / 2 + 1):

#discovery.zen.minimum_master_nodes: 2##

discovery.zen.commit_timeout: 90s##

discovery.zen.ping_timeout: 120s##

client.transport.ping_timeout: 120s

## ping的時候等待網域名稱解析的時間(預設5秒):

#discovery.zen.ping.unicast.hosts.resolve_timeout: 10

## 以下配置可以減少當es節點短時間宕機或重啟時shards重新分布帶來的磁碟io讀寫浪費:

# 注:節點間相互說明我還活著的引數配置:

#discovery.zen.fd.ping_timeout: 180s

discovery.zen.fd.ping_retries: 6

discovery.zen.fd.ping_interval: 30s

discovery.zen.ping_timeout: 120s

# ---------------------------------- recovery throttling -----------------------------------

# 下面這些配置允許在初始化恢復,副本分配,再平衡,或者新增和刪除節點時控制節點間的分片分配,設定乙個節點的並行恢復數.

# # 初始化資料恢復時,併發恢復執行緒的個數,預設為4 :

#cluster.routing.allocation.node_initial_primaries_recoveries: 8

## 新增刪除節點或負載均衡時併發恢復執行緒的個數,預設為2 :

#cluster.routing.allocation.node_concurrent_recoveries: 4

## 設定恢復時的吞吐量(預設為0無限制.如果機器還有其他業務在跑的話還是限制一下的好) :

#indices.recovery.max_bytes_per_sec: 0

## 設定來限制從其它分片恢復資料時最大同時開啟併發流的個數,預設為5 :

#indices.recovery.concurrent_streams: 10

## 注意: 合理的設定以上引數能有效的提高集群節點的資料恢復以及初始化速度 :

## 初始化資料恢復時,併發恢復執行緒的個數,預設為4:

#cluster.routing.allocation.node_initial_primaries_recoveries: 8

## ---------------------------------- gateway -----------------------------------

## 集群重啟,資料恢復設定:

## 多少個節點上線了開始恢復:

#gateway.expected_nodes: 3

## 上面的引數沒有達到時,多長時間開始恢復:

#gateway.recover_after_time: 5m

##上面是時間引數超時了下面的引數生效:

#gateway.recover_after_nodes: 2

## ---------------------------------- various -----------------------------------

## 刪除索引的時候必須指明具體的索引名字(抑制模糊刪除):

#action.destructive_requires_name: true

##單節點上可以開啟的es儲存例項的個數:

#node.max_local_storage_nodes:1

## ---------------------------------- header -----------------------------------

## 安裝header外掛程式時的必要引數:

elasticsearch配置詳解

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

elasticsearch配置說明

elasticsearch.yml是elasticsearch主要的配置檔案,所有的配置都在這個檔案裡完成,一般情況下,預設的配置已經可以比較好地執行乙個集群了,但你也可以對其進行微調。在環境變數中的引數可以用來作為配置引數的值,比如配置檔案裡舉的乙個例子為 node.rack 再比如 等。下面對其...

Elasticsearch配置jieba分詞分析器

jieba分詞是中文裡面比較好的分詞器,而當前elasticsearch官方並不支援jieba分詞,但可以通過配置plugins的方式使用jieba分詞器作為es的analyzer。配置環境 mac os 10.12 elasticsearch 5.3.0 jieba 5.3.0 與es版本匹配 t...