配置ElasticSearch
发现和集群形成设置
发现和集群形成受以下设置影响
-
discovery.seed_hosts
:提供集群中符合主节点条件的节点列表。也可以是以逗号分隔的单个字符串。每个节点都是host:port
或者host
格式。host
是由DNS解析出来的任意主机名称。IPV6必须用方括号括起来。如果一个主机名通过DNS解析出来多个地址,ElasticSearch会使用所有被解析出来的地址。 -
discovery.seed_providers:指定种子主机提供程序的类型来获取用于启动发现进程的种子节点的地址。默认情况下,它是基于设置的种子主机提供程序,它从
discovery.seed_hosts
设置中获取种子节点地址。此设置以前称为discovery.zen.hosts_provider
。 -
discovery.type
:指定 Elasticsearch 是否应形成多节点集群。默认情况下,Elasticsearch 在形成集群时会发现其他节点,并允许其他节点稍后加入集群。如果discovery.type
设置为single-node
,Elasticsearch 会形成一个单节点集群并不支持cluster.publish.timeout
设置的超时。 -
cluster.initial_master_nodes
:设置全新群集中符合条件的主节点的初始集。默认情况下,此列表为空,表示此节点希望加入已引导的集群。请参阅cluster.initial_master_nodes
。
字段数据缓存设置
字段数据缓存包含字段数据和全局序数,他们都用于支持某些字段的聚合。由于这些是堆上数据结构,因此监控缓存的使用很重要。
缓存大小
缓存中的条目构建成本很高,因此默认行为是将缓存加载到内存中。默认缓存大小是不受限制的,这会导致缓存不断增长,直到达到字段数据断路器设置的限制。此行为可以配置。
如果设置了缓存大小限制,缓存将开始清除缓存中最近更新的条目。这种设置可以自动避免断路器限制,但需要重建缓存。
如果达到断路器限制,将阻止进一步增加缓存大小的请求。在这种情况下,您应该手动清除缓存。
indices.fielddata.cache.size
:字段数据缓存的最大大小,如38%的节点堆空间,或绝对值,如12GB。默认为无限。如果选择设置,则应小于字段数据断路器限位值。
监控字段数据
您可以使用节点 stats API
或 cat fielddata API
监视字段数据的内存使用情况以及字段数据断路器。