Elasticsearch 模塊

Elasticsearch由許多模塊組成,這些模塊負(fù)責(zé)其功能。這些模塊具有兩種類型的設(shè)置,如下所示:

  • 靜態(tài)設(shè)置?在啟動(dòng)Elasticsearch之前,需要在config(elasticsearch.yml)文件中配置這些設(shè)置。您需要更新集群中的所有關(guān)注節(jié)點(diǎn),以反映這些設(shè)置的更改。

  • 動(dòng)態(tài)設(shè)置 ?這些設(shè)置可以在實(shí)時(shí)Elasticsearch上進(jìn)行設(shè)置。

我們將在本章以下各節(jié)中討論Elasticsearch的不同模塊。

集群級(jí)路由和分片分配

集群級(jí)設(shè)置決定將碎片分配給不同的節(jié)點(diǎn),并重新分配碎片以重新平衡集群。以下是控制碎片分配的設(shè)置。

集群級(jí)別碎片分配

設(shè)置可能的值描述
cluster.routing.allocation.enable

all

此默認(rèn)值允許為所有類型的碎片分配碎片。

primaries

這只允許為主碎片分配碎片。

new_primaries

這只允許為新索引的主碎片分配碎片。

none

這不允許任何碎片分配。

cluster.routing.allocation .node_concurrent_recoveries

數(shù)值(默認(rèn)值為2)

這限制了并發(fā)碎片恢復(fù)的數(shù)量。

cluster.routing.allocation .node_initial_primaries_recoveries數(shù)值(默認(rèn)為4)

這限制了并行初始主恢復(fù)的數(shù)量。

cluster.routing.allocation .same_shard.host布爾值(默認(rèn)為false)

這限制了在同一物理節(jié)點(diǎn)中分配同一分片的多個(gè)副本。

index.recovery.concurrent _streams數(shù)值(默認(rèn)為3)

這控制從對(duì)等碎片恢復(fù)碎片時(shí)每個(gè)節(jié)點(diǎn)打開的網(wǎng)絡(luò)流的數(shù)量。

index.recovery.concurrent _small_file_streams數(shù)值(默認(rèn)為2)

這可以控制碎片恢復(fù)時(shí)大小小于5mb的小文件在每個(gè)節(jié)點(diǎn)上打開的流的數(shù)量。

cluster.routing.rebalance.enable

all

此默認(rèn)值允許平衡所有類型的碎片。

primaries

這只允許主碎片進(jìn)行碎片平衡。

replicas

這只允許對(duì)副本碎片進(jìn)行碎片平衡。

none

這不允許任何形式的碎片平衡。

cluster.routing.allocation .allow_rebalance

always

此默認(rèn)值始終允許重新平衡。

indexs_primaries_active

這允許在分配集群中的所有主碎片時(shí)重新平衡。

Indices_all_active這允許在分配所有主碎片和副本碎片時(shí)重新平衡
cluster.routing.allocation.cluster _concurrent_rebalance數(shù)值(默認(rèn)為2)

這限制了集群中并發(fā)分片平衡的數(shù)量。

cluster.routing.allocation .balance.shard浮點(diǎn)值(默認(rèn)為0.45f)

這定義了分配給每個(gè)節(jié)點(diǎn)的碎片的權(quán)重因子。

cluster.routing.allocation .balance.index浮點(diǎn)值(默認(rèn)為0.55f)

這定義了在特定節(jié)點(diǎn)上分配的每個(gè)索引的碎片數(shù)的比率。

cluster.routing.allocation .balance.threshold非負(fù)浮點(diǎn)值(默認(rèn)為1.0f)

這是應(yīng)該執(zhí)行的操作的最小優(yōu)化值。

基于磁盤的分片分配

設(shè)置可能的值描述
cluster.routing.allocation.disk.threshold_enabled

布爾值(默認(rèn)為true)

這將啟用和禁用磁盤分配決策程序。
cluster.routing.allocation.disk.watermark.low

字符串值(默認(rèn)為85%)

這表示磁盤的最大使用率;此后,將無法將其他分片分配給該磁盤。
cluster.routing.allocation.disk.watermark.high

字符串值(默認(rèn)為90%)

這表示分配時(shí)的最大使用量;如果在分配時(shí)達(dá)到了這一點(diǎn),那么Elasticsearch會(huì)將那個(gè)分片分配給另一個(gè)磁盤。
cluster.info.update.interval

字符串值(默認(rèn)30s)

這是兩次磁盤使用情況檢查之間的間隔。
cluster.routing.allocation.disk.include_relocations

布爾值(默認(rèn)情況下為 true)

這決定了在計(jì)算磁盤使用率時(shí)是否考慮當(dāng)前分配的分片。

發(fā)現(xiàn)

這個(gè)模塊幫助集群發(fā)現(xiàn)并維護(hù)集群中所有節(jié)點(diǎn)的狀態(tài)。當(dāng)從集群中添加或刪除節(jié)點(diǎn)時(shí),集群的狀態(tài)會(huì)發(fā)生變化。集群名稱設(shè)置用于創(chuàng)建不同集群之間的邏輯差異。有一些模塊可以幫助您使用云供應(yīng)商提供的API,如下所示-

  • Azure發(fā)現(xiàn)

  • EC2發(fā)現(xiàn)

  • Google計(jì)算引擎發(fā)現(xiàn)

  • 禪Zen發(fā)現(xiàn)

網(wǎng)關(guān)

該模塊在整個(gè)集群重新啟動(dòng)時(shí)維護(hù)集群狀態(tài)和分片數(shù)據(jù)。以下是該模塊的靜態(tài)設(shè)置-

設(shè)置可能的值描述
gateway.expected_nodes

數(shù)值(默認(rèn)為0)

群集中用于恢復(fù)本地分片的節(jié)點(diǎn)數(shù)。
gateway.expected_master_nodes

數(shù)值(默認(rèn)為0)

開始恢復(fù)之前,預(yù)期在群集中的主節(jié)點(diǎn)數(shù)。
gateway.expected_data_nodes

數(shù)值(默認(rèn)為0)

開始恢復(fù)之前,群集中預(yù)期的數(shù)據(jù)節(jié)點(diǎn)數(shù)。
gateway.recover_after_time

字符串值(默認(rèn)為5m)

這是兩次磁盤使用情況檢查之間的間隔。
cluster.routing.allocation. disk.include_relocations

布爾值(默認(rèn)為true)

這指定了恢復(fù)過程將等待開始的時(shí)間,而不管群集中加入的節(jié)點(diǎn)數(shù)量如何。

gateway.recover_ after_nodes
gateway.recover_after_master_nodes
gateway.recover_after_data_nodes

HTTP

該模塊管理HTTP客戶端和Elasticsearch API之間的通信。可以通過將值更改http.enabled為false來禁用此模塊。

以下是用于控制此模塊的設(shè)置(在elasticsearch.yml中配置)-

序號(hào)設(shè)定與說明
1

http.port

這是訪問Elasticsearch的端口,范圍為9200-9300。

2

http.publish_port

此端口用于http客戶端,在防火墻的情況下也很有用。

3

http.bind_host

這是 http 服務(wù)的主機(jī)地址。

4

http.publish_host

這是http客戶機(jī)的主機(jī)地址。

5

http.max_content_length

這是http請(qǐng)求中內(nèi)容的最大大小。它的默認(rèn)值是100mb。

6

http.max_initial_line_length

這是URL的最大大小,其默認(rèn)值為4kb。

7

http.max_header_size

這是 http 頭的最大大小,默認(rèn)值為8kb。

8

http.compression

這將啟用或禁用對(duì)壓縮的支持,其默認(rèn)值為false。

9

http.pipelinig

這將啟用或禁用 HTTP 管道。

10

http.pipelining.max_events

這限制了在關(guān)閉HTTP請(qǐng)求之前要排隊(duì)的事件數(shù)。

索引

此模塊維護(hù)為每個(gè)索引全局設(shè)置的設(shè)置。以下設(shè)置主要與內(nèi)存使用有關(guān)-

斷路器

這用于防止操作引起OutOfMemroyError。該設(shè)置主要限制JVM堆大小。例如,indexs.breaker.total.limit設(shè)置,默認(rèn)為JVM堆的70%。

現(xiàn)場(chǎng)數(shù)據(jù)緩存

主要用于在字段上聚合時(shí)使用。建議有足夠的內(nèi)存來分配它??梢允褂胕ndex.fielddata.cache.size設(shè)置來控制用于字段數(shù)據(jù)緩存的內(nèi)存量。

節(jié)點(diǎn)查詢緩存

該內(nèi)存用于緩存查詢結(jié)果。該緩存使用最近最少使用(LRU)驅(qū)逐策略。Indices.queries.cahce.size設(shè)置控制此緩存的內(nèi)存大小。

索引緩沖區(qū)

該緩沖區(qū)將新創(chuàng)建的文檔存儲(chǔ)在索引中,并在緩沖區(qū)已滿時(shí)刷新它們。像indexs.memory.index_buffer_size這樣的設(shè)置控制為此緩沖區(qū)分配的堆數(shù)量。

分片請(qǐng)求緩存

該緩存用于存儲(chǔ)每個(gè)分片的本地搜索數(shù)據(jù)。可以在創(chuàng)建索引期間啟用緩存,也可以通過發(fā)送URL參數(shù)來禁用緩存。

Disable cache - ?request_cache = true
Enable cache "index.requests.cache.enable": true

索引恢復(fù)

它在恢復(fù)過程中控制資源。以下是設(shè)置-

設(shè)置默認(rèn)值
indices.recovery.concurrent_streams3
indices.recovery.concurrent_small_file_streams2
indices.recovery.file_chunk_size512kb
indices.recovery.translog_ops1000
indices.recovery.translog_size512kb
indices.recovery.compresstrue
indices.recovery.max_bytes_per_sec40mb

TTL間隔

生存時(shí)間(TTL)間隔定義了文檔的時(shí)間,之后該文檔將被刪除。以下是用于控制此過程的動(dòng)態(tài)設(shè)置-

設(shè)置默認(rèn)值
indices.ttl.interval60s
indices.ttl.bulk_size1000

節(jié)點(diǎn)

每個(gè)節(jié)點(diǎn)都可以選擇是否為數(shù)據(jù)節(jié)點(diǎn)。可以通過更改 node.data 設(shè)置來更改此屬性。將該值設(shè)置為 false 將定義該節(jié)點(diǎn)不是數(shù)據(jù)節(jié)點(diǎn)。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清