elasticsearch配置项说明
1、配置集群启动recovery过程的条件,一旦达成条件则开启recovery过程。
getway.expected_nodes:
getway.expected_master_nodes: getway.expected_data_nodes:2、在期待的节点数满足前recovery过程会等待gateway.recovery_after_time配置项的时间, 一旦等待超时,会根据以下条件判断是否启动recovery过程getway.expected_after_nodes:
getway.expected_after_master_nodes: getway.expected_after_data_nodes:3、如果启动单个节点,也会造成数据在不同节点间的复制,为避免这个问题,可以在重启前关闭集群的shard allocation。put /_cluster/settings
{ "transient":{"cluster.routing.allocation.enable":"none/all"} }4、recovery数度提升从节点传输到对等节点的回收分片的平行流数量:
indices.recovery.concurrent_streams:4
每秒传输多少字节:
indices.recovery.max_bytes_per_src:40mb
5、从主分片恢复数据到副本上需要经历3个阶段①对主分片上的segment file做一个快照,然后拷贝到复制分片分配到的节点。数据拷贝期间,不会阻塞索引请求,新增索引操作记录到translog中。
②对translog做一个快照,此快照包含第一阶段新增的索引请求,然后重放快照里的索引操作,此阶段仍不阻塞索引请求。新增索引操作记录到translog中。 ③为了能达到主副片完全同步,阻塞掉新索引请求,然后重放阶段2新增的translog操作。6、 master -> false , data -> true :纯数据节点,负荷严重 master -> true , data -> false :协调者 master -> false , data -> false :负载均衡7、默认情况下多个节点可以在一台机器上启动,如果想只能启动一个节点则设置如下配置:node.max_local_storage_nodes:1
8、设置索引分片数量:index.number_of_shards:5
拥有更多的分片可以提升索引执行的能力,并允许通过机器分发一个大型的索引。分片数只能设置一次。9、设置索引副本数量:index.number_of_replicas:1
拥有更多的副本能够提升搜索执行能力以及集群能力。副本数可以通过API在任意时刻增加和减少。10、数据存储路径:
path.data:/opt/data,/opt/data1
数据存储路径可以配置多个。11、临时文件存储路径path.work:
12、插件安装位置:
path.plugins:
13、禁止JVM启动交换:bootstrap.mlockall:true
14、定制节点与其他节点交互的端口:transport.tcp.port:9300
15、设置节点交互是否压缩transport.tcp.compress:true
16、定制http传输监听端口http.port:9200
17、设置内容的最大长度http.max_content_length:100mb
18、禁止httphttp.enable:false
19、网关持有集群状态,集群状态变更都会被保存下来,当第一次启用集群时,可以从网关中读取到状态,默认网关类型是localgateway.type:local
20、设置一个节点的并发数量在集群复苏过程中:cluster.routing.allocation.node_initial_primaries_recoveries:4
在添加删除节点时调整:cluster.routing.allocation.node_concurrent_recoveries:221、设置集群复苏时的吞吐量,默认情况下是无限的indices.recovery.max_size_per+sec:0
22、设置对等节点恢复分片时打开的流的数量上限indices.recovery.concurrent_streams:5
23、设置一个集群中主节点的数量:discovery.zen.minimum_master_nodes:1
24、设置ping其他节点的超时时间:网络比较慢的情况下可以适当的调大discovery.zen.ping.timeout:3s
25、设置是否可以通过正则或者_all删除或则关闭索引,默认false(允许),可以设置为true(不允许)action.destructive_requires_name:false