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)原创,转载请标明做者和出处。

相关文章
相关标签/搜索