0.配置Elasticsearch.md
Elasticsearch具有良好的默认值,并且需要很少的配置。可以使用 Cluster update settings API在正在运行的集群上更改大多数设置。
配置文件应该包含特定于节点的设置(如node.name
和路径),或者节点为了能够加入集群而需要的设置,如cluster.name
和network.host
。
配置文件位置
Elasticsearch有三个配置文件:
elasticsearch.yml
for configuring Elasticsearchjvm.options
for configuring Elasticsearch JVM settingslog4j2.properties
for configuring Elasticsearch logging
这些文件位于config目录中:
对于存档发行版(tar.gz
or zip
),配置目录位置默认为 $ES_HOME/config
。
对于包发行版,配置目录位置默认为 /etc/elasticsearch
。
配置文件格式
配置格式为 YAML。
环境变量替换
配置文件中使用 ${…}
符号引用的环境变量将替换为环境变量的值。例如:
环境变量的值必须是简单字符串。使用逗号分隔的字符串,Elasticsearch将解析为列表的值。例如,Elasticsearch将以下字符串拆分为${HOSTNAME}
环境变量的值列表:
集群和节点设置类型
集群和节点设置可以根据它们的配置方式进行分类:
动态
您可以使用 cluster update settings API 在正在运行的集群上配置和更新动态设置。您还可以使用elasticsearch.yml
在未启动或关闭的节点上本地配置动态设置。
使用群集更新设置API进行的更新可以是持久的,适用于群集重新启动,也可以是瞬态的,在群集重新启动后重置。您还可以通过使用API为瞬态或持久设置分配null
来重置它们。
如果您使用多种方法配置相同的设置,Elasticsearch会按以下优先顺序应用设置:
- 临时设置(不推荐使用)
- 持久设置
elasticsearch.yml
设置- 默认设置值
如果您在自己的硬件上运行Elasticsearch,请使用集群更新设置API来配置动态集群设置。仅将elasticsearch.yml
用于静态集群设置和节点设置。确保所有节点上的设置值相同。
静态
静态设置只能在未启动或关闭的节点上使用 elasticsearch.yml
。
必须在集群中的每个相关节点上设置静态设置。