配置Elasticsearch
ElasticSearch具有良好的默认值,只需要很少的配置。可以使用Cluster Update Settings在正在运行的群集上更改大多数设置。
配置文件应包含特定于节点的设置(如node.name和路径),或节点为了能够加入群集而需要的设置(如cluster.name和network.host)。
配置文件位置
ElasticSearch有三个配置文件:
- 使用ElasticSearch.yml配置ElasticSearch
- 使用jvm.options配置ElasticSearch JVM
- 使用log4j2.properties配置ElasticSearch日志记录
这些文件位于config目录中,其默认位置取决于安装是否来自存档分发(tar.gz或zip)或包分发(debian或rpm包)。
对于存档分发,配置目录位置默认为$es_home/config。配置目录的位置可以通过es_path_conf环境变量更改,如下所示:
ES_PATH_CONF=/path/to/my/config ./bin/elasticsearch
或者,您可以通过命令行或shell概要文件导出es-path-conf环境变量。
对于包分发,配置目录位置默认为/etc/elasticsearch。也可以通过es-path-conf环境变量更改config目录的位置,但请注意,在shell中设置该目录是不够的。相反,这个变量来自/etc/default/elasticsearch(对于debian包)和/etc/sysconfig/elasticsearch(对于rpm包)。您需要相应地编辑其中一个文件中的es_path_conf=/etc/elasticsearch条目,以更改配置目录位置。
配置文件格式
配置格式为YAML。下面是更改数据和日志目录路径的示例:
path:
data: /var/lib/elasticsearch
logs: /var/log/elasticsearch
设置也可以扁平化,如下所示:
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
环境变量替换
配置文件中使用${...} 符号引用的环境变量将替换为环境变量的值,例如:
node.name: ${HOSTNAME}
network.host: ${ES_NETWORK_HOST}