简介
ElasticSearch在配置方面是对于用户是非常友好的,大量的配置都设定了默认的配置,但是也会有一些特定的需求需要用户自己来配置,ElasticSearch提供了很多的方式来让用户灵活便捷地配置ElasticSearch。
正文
配置文件的位置
系统会根据Elasticsearch的安装方式不同,会找到不同的目录作为配置文件目录,配置文件目录下有三个文件用于配置Elasticsearch。
配置文件列表
- elasticsearch.yml 用来配置Elasticsearch
- jvm.options 配置Elasticsearch的JVM配置
- log4j2.properties 配置Elasticsearch的日志配置
配置文件夹位置
使用压缩包(tar.gz/zip)方式安装
默认使用$ES_HOME/config文件夹下的配置文件
可以通过ES_PATH_CONF环境变量可以改变配置文件夹,该环境变量也支持在命令行上直接指定
使用包管理器安装
默认的配置文件夹位置在:/etc/elasticsearch
也支持通过ES_PATH_CONF环境变量可以改变配置文件夹,但是在这种情况下环境变量不持在命令行上直接指定
通过在指定文件下修改环境变量:ES_PATH_CONF=/etc/elasticsearch
- Debian Package: /etc/default/elasticsearch
- RPM Package: /etc/sysconfig/elasticsearch
配置文件格式
配置文件格式为yaml格式,具体可以参考YAML入门教程
环境变量替换
支持使用${ENV_NAME}来使用环境变量中的值作为配置值
集群和节点配置类型
动态配置类型
支持使用API来做热配置Cluster update settings API | Elasticsearch Guide [7.15] | Elastichttps://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html 也可以通过节点的elasticsearch.yml来配置
通过API来配置的,可以做到是临时配置和持久配置,这些配置的生效遵循以下顺序:
- 临时配置
- 持久配置
- elasticsearch.yml配置
- 默认配置
TIPS:如果是使用的Elasticsearch服务,则服务会拒绝掉不安全的配置,如果是基于自己的硬件搭建的,应该使用API来配置动态集群配置,使用elasticsearch.yml来配置静态集群配置和节点配置,因为使用API配置是不需要重启和可以对集群内所有节点生效的。
静态配置类型
只支持在未启动或已关闭的elasticsearch的elasticsearch.yml中配置
总结
- Elasticsearch的配置文件目录可以手动指定
- 对于可以通过配置API配置的,尽量用API进行配置,因为这样可以直接对所有节点生效。