elasticsearch5.0.0參數配置的變化

配置參數在5.0中在生效前將會進行校驗。在啓動節點的時候,節點級別的設置和默認的節點設置都會被驗證;動態設置的集羣和索引設置在增長或者修改集羣狀態以前將被校驗。java

全部配置都註冊在節點或者使用的傳出客戶端。客戶自定義的插件的配置註冊在插件加載的地方,註冊的方法是SettingsModule類的registerSettings方法。node

Index Level Settingsbootstrap

在以前的版本中,指定索引級別的設置在elasticsearch.yaml文件中配置,或者在啓動命令行中配置。從5.0之後僅僅選擇的設置在節點層生效,其餘設置能夠設置在具體的索引中。索引模板被在每一個索引上的默認值替換。緩存

Node settings安全

名稱設置被取消,被node.name替換,-Dname=some_node_name方式制定名稱將被取消。網絡

node.add_id_to_custom_path配置參數修更名稱爲add_lock_id_to_custom_path。併發

node.name的默認名稱是節點id的前7個字母,節點id是隨機產生的UUID。app

node.mode和node.local兩個設置被移除。本地模式經過discovery.type: local和transport.type:local來進行配置。能夠經過http.enabled: false來禁止http訪問。less

Node attribute settings異步

節點級別的屬性能夠經過過濾來分配,能夠經過node.attr前綴設置其餘節點識別或者強制意識。在以前的版本是經過在節點上設置特殊節點的屬性。除了這三個node.master, node.data ,node.ingest must屬性外,能夠經過新的node.attr. namespace命名空間移除。

Node types settings

node.client設置被移除,若是節點設置了node.client節點將沒法啓動。能夠經過分別設置node.master, node.data,node.ingest來設置節點的類型。

Gateway settings

gateway.format設置被取消。默認用format設置smile。

Transport Settings

transport.netty.bind_host設置被取消,用transport.bind_host來替換。

Security manager settings

安全管理security.manager.enabled設置被移除,爲了受權elasticsearch 用戶特殊的許可,須要編輯本地java安全策略。

Network settings

設置network.host的值爲_non_loopback_value表示任意選擇第一接口不標記爲環回。相反,能夠指定地址範圍(用_local_,_site_ for制定全部的環回和私有網絡地址);經過顯式接口的名稱,主機名或地址。

netty.epollBugWorkaround被移除,在高CPU使用率上和早期的JVM版本有個問題,須要經過netty.epollBugWorkaround配置解決,但這個問題實在java7中才有的,如今es5.0要求最低使用java8,因此此設置被移除。

在此以前,全局線程池類型能夠動態調整。線程池類型有效地控制線程池的支持隊列,修改這些設置須要豐富的經驗,修改很差有可能會產生比較大的風險,因此刪除這些配置。如今能夠爲每一個線程池單獨調整相關的線程池參數好比: keep_alive, queue_size等等。

Threadpool settings

建議線程池已經取消了,如今用搜索線程池來替換。

全部線程池前綴的設置從threadpool到thread_pool。

線程池的最小參數設置從min到core。

線程池的最大參數設置從size到max。

隊列的大小對於一個固定的線程池的設置必須queue_size(全部其餘的變種,之前支持的都再也不支持)。

如今線程池的設置如今節點級別進行設置的。所以,它不可能經過羣集設置來更新線程池。

Analysis settings

分詞器的index.analysis.analyzer.default_index將不在支持,若是想改變索引的分詞器,須要修改index.analysis.analyzer.default參數進行替代。

Ping settings

此前,有三種ping超時設置:discovery.zen.initial_ping_timeout,discovery.zen.ping.timeout和discovery.zen.ping_timeout。前二者已被移除,ping超時設置如今只有discovery.zen.ping_timeout。ping超時的默認值是三秒。

discovery.zen.master_election.filter_client和discovery.zen.master_election.filter_data被移除,新的參數用discovery.zen.master_election.ignore_non_master_pings來代替。此設置用來控制在主節點選舉時候的ping響應,只有在極端狀況下才會使用這個參數,平時通常不用配置。

本文由賽克 藍德(secisland)原創,轉載請標明做者和出處。

Recovery settings

此版本刪除了1版本中的恢復參數

index.shard.recovery.translog_size替換爲indices.recovery.translog_size

index.shard.recovery.translog_ops 替換爲indices.recovery.translog_ops

index.shard.recovery.file_chunk_size替換爲indices.recovery.file_chunk_size

index.shard.recovery.concurrent_streams替換爲indices.recovery.concurrent_streams

index.shard.recovery.concurrent_small_file_streams替換爲 indices.recovery.concurrent_small_file_streams

indices.recovery.max_size_per_sec替換爲indices.recovery.max_bytes_per_sec

若是使用以上任何這些設置,請花時間來檢查配置的目的。以上全部的設置都被認爲是專家級的設置,若是絕對必要的話纔可使用。若是你已經設置了以上的任何一條在集羣上請使用update API和設置相應的取代鑰匙。

下列設置已被刪除,而不須要更換。

indices.recovery.concurrent_small_file_streams和ndices.recovery.concurrent_file_streams回收率如今是單線程的。

Translog settings

index.translog.flush_threshold_ops setting將不在被支持,爲了控制事物日誌的沖洗將使用index.translog.flush_threshold_size來代替。

index.translog.fs.type中的translog類型將再也不被支持,如今緩衝區是用8K緩衝區。

以前默認的事務日誌是在每次index, create, update, delete, bulk 請求後操做,如今在這些操做後是不進行操做了,事實上,它多是一個性能瓶頸。如今,index.translog.sync_interval不接受一個小於100ms的值,防止fsyncing同時啓用了異步操做。特殊值0再也不被支持。

index.translog.interval已被刪除。

Request Cache Settings

index.cache.query.enable和indices.cache.query.size配置被移除,取而代之是index.requests.cache.enable和indices.requests.cache.size。

indices.requests.cache.clean_interval取代了indices.cache.clean_interval

Field Data Cache Settings

indices.fielddata.cache.clean_interval設置已被替換爲indices.cache.clean_interval。

Allocation settings

cluster.routing.allocation.concurrent_recoveries設置已被替換cluster.routing.allocation.node_concurrent_recoveries。

Similarity settings

默認的similarity 已被重命名爲classic。

Indexing settings

indices.memory.min_shard_index_buffer_size和indices.memory.max_shard_index_buffer_size設置已刪除。Elasticsearch如今容許全部堆使用量的總和只要低於節點的indices.memory.index_buffer_size的配置的量就可使用分片。(默認爲10%的JVM堆)。

移除參數es.max-open-files。設置es.max-open-files 參數爲true,能夠打印系統進程打開文件的最大個數。這個設置被取消,能夠從節點信息的接口獲取相同的信息,若是設置得過低,則會在啓動時登陸一個警告。

移除參數es.netty.gathering。時間證實設置es.netty.gathering這個參數爲true和false的時候都沒有什麼問題。

移除參數es.useLinkedTransferQueue。es.uselinkedtransferqueue能夠用來控制羣集服務隊列的實現,在集羣發現過程當中處理ping的響應。這是一個未無事實證實的設置,現已刪除。

緩存併發級別設置被刪除。緩存併發級別設置有兩個參數indices.requests.cache.concurrency_level,indices.fielddata.cache.concurrency_level由於他們再也不適用於用於請求緩存和字段數據緩存的實現。

經過系統屬性配置ES進行了調整,將再也不支持經過系統屬性配置。

經過命令行參數設置將取消。

用過java環境變量設置將取消

經過ES_JAVA_OPTS環境變量設置將取消。

如今用-Ename.of.setting來設置配置。

經過雙橫線設置參數將取消,例如 --name.of.setting value.of.setting,如今用-Ename.of.setting=value.of.setting來替換。

經過.properties文件配置設置將取消。ES的運行配置和日誌配置將不在支持.properties文件方式(就是鍵值對的方式將被取消)

Discovery Settings

當節點有 network.host, network.bind_host, network.publish_host, transport.host, transport.bind_host, transport.publish_host的時候,必須設置 discovery.zen.minimum_master_node,由於系統被認爲是在生產環境中。

Realtime get setting

action.get.realtime設置將被取消,

Memory lock settings

bootstrap.mlockall設置被更名爲bootstrap.memory_lock。

Snapshot settings

restoring快照映射參數include_global_state的默認值由true改成false,taking快照的默認值仍是true。

表明周的時間單位w再也不支持。

小數的時間值(例如,0.5s)再也不支持。例如,這意味着當設定超時」0.5s」將被拒絕,應該輸入「500ms」。

Elasticsearch之前版本默認爲容許多個節點共享相同的數據目錄(50個以上),但這種狀況有時候會混亂,當同時啓動多個節點的時候,第二個節點有可能看到的是一個空的目錄,而後認爲集羣沒有任何的數據節點。這種設置在筆記本上作測試是比較好的,但這並非生產環境中經常使用的方式。爲了更安全的操做,默認node.max_local_storage_nodes被設置爲1.

 

Script settings

索引腳本已被存儲的腳本所取代,下面的設置已被替換爲:

script.indexed替換爲script.stored

script.engine.*.indexed.aggs 替換爲script.engine.*.stored.aggs

script.engine.*.indexed.mapping 替換爲script.engine.*.stored.mapping

script.engine.*.indexed.search 替換爲script.engine.*.stored.search

script.engine.*.indexed.update 替換爲script.engine.*.stored.update

script.engine.*.indexed.plugin 替換爲script.engine.*.stored.plugin

(where * represents the script language, like groovy, mustache, painless etc.)

其中*表明的腳本語言,例如groovy, mustache, painless等等。

 

Script mode settings

腳本模式設置,之前的腳本模式設置,例如:"script.inline: true", "script.engine.groovy.inline.aggs: false"等等,接受普遍的「truthy」或「falsy」值。如今比較嚴格,只支持true和false選項。

腳本沙箱設置將被移除,以前script.inline 和script.stored能夠設置爲sandbox。如今只能設置set script.line: true 或者 script.stored: true。

搜索設置index.query.bool.max_clause_count將取消。用indices.query.bool.max_clause_count來設置布爾子句的最大數目。

本文由賽克 藍德(secisland)原創,轉載請標明做者和出處。

相關文章
相關標籤/搜索