3.2. Elasticsearch配置
Elasticsearch 本身具有适宜的默认值,且需要的配置很少。使用集群更新设置 API 可以更改运行中集群里的大多数设置。
配置文件应包含特定于节点的设置 (例如 node.name
和路径),或节点为了能够加入群集而需要的设置,比如 cluster.name
和 network.host
。
配置文件所在位置
Elasticsearch 有三个配置文件:
elasticsearch.yml
用于配置 Elasticsearchjvm.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脚本使用export
方法导出ES_PATH_CONF
环境变量。
如果是软件包安装的系统,默认的配置文件是在/etc/elasticsearch
。当然配置文件地址也可以通过修改 ES_PATH_CONF
环境变量而变化,但是单单在 shell 中
修改是不够的,由于这个变量来自/etc/default/elasticsearch
(Debian软件包)或者/ etc / sysconfig / elasticsearch
(RPM软件包)或者/ 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}
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。