Elasticsearch 配置

Elasticsearch提供良好的默认设置,并且只需要很少的配置。可以使用群集更新设置API在正在运行的群集上更改大多数设置。

配置文件应包含特定于节点的设置(如node.name和paths),或节点为了能够加入集群而需要的设置,如cluster.name和network.host。

一、配置文件位置

Elasticsearch有三个配置文件:

  1. 用于配置elasticsearch.yml
  2. 用于配置Elasticsearch jvm设置的jvm.options
  3. log4j2.用于配置Elasticsearch日志记录的属性

这些文件位于config目录中,其默认位置取决于安装是来自存档发行版(tar.gz或zip)还是包发行版(Debian或RPM包)。

对于archive 版,配置目录位置默认为$ES_HOME/config。可以通过ES_PATH_CONF环境变量更改配置目录的位置,如下所示:

复制代码
ES_PATH_CONF=/path/to/my/config ./bin/elasticsearch

或者,可以通过命令行或shell配置文件导出ES_PATH_CONF环境变量。

对于package 版,配置目录位置默认为/etc/elasticsearch。配置目录的位置也可以通过ES_PATH_CONF环境变量进行更改,但请注意,仅在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

在YAML中,可以将非标量值格式化为序列:

复制代码
discovery.seed_hosts:
   - 192.168.1.10:9300
   - 192.168.1.11
   - seeds.mydomain.com

尽管不太常见,但您也可以将非标量值格式化为数组:

复制代码
discovery.seed_hosts: ["192.168.1.10:9300", "192.168.1.11", "seeds.mydomain.com"]

三、环境变量替换

配置文件中使用${...}符号引用的环境变量将替换为环境变量的值。例如:

复制代码
node.name:    ${HOSTNAME}
network.host: ${ES_NETWORK_HOST}

环境变量的值必须是简单字符串。使用逗号分隔的字符串来提供Elasticsearch将解析为列表的值。例如,Elasticsearch将以下字符串拆分为${HOSTNAME}环境变量的值列表:

复制代码
export HOSTNAME="host1,host2"

四、集群和节点设置类型

可以根据配置方式对群集和节点设置进行分类:

Dynamic

您可以使用集群更新设置API在正在运行的集群上配置和更新动态设置。您还可以使用弹性搜索.yml在未启动或关闭的节点上本地配置动态设置。

使用集群更新设置API进行的更新可以是持久的,适用于集群重新启动,也可以是暂时的,在集群重新启动后重置。您还可以通过使用API为临时或持久设置分配空值来重置它们。

如果使用多个方法配置相同的设置,则Elasticsearch将按以下优先顺序应用设置:

  1. Transient setting
  2. Persistent setting
  3. elasticsearch.yml setting
  4. Default setting value

例如,可以应用瞬态设置来覆盖持久设置或elasticsearch.yml设置。然而,对elasticsearch.yml设置的更改不会覆盖定义的瞬态或持久设置。

相关推荐
小汤猿人类1 小时前
ES关系映射(数据库中的表结构)
大数据·数据库·elasticsearch
Elastic 中国社区官方博客3 小时前
Elasticsearch 8.18 中提供了原生连接 (Native Joins)
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
Elastic 中国社区官方博客7 小时前
如何在不同版本的 Elasticsearch 之间以及集群之间迁移数据
大数据·数据库·elasticsearch·搜索引擎·全文检索·logstash
坤小满学Java7 小时前
【从0到1学Elasticsearch】Elasticsearch从入门到精通(上)
elasticsearch
lqg_zone20 小时前
Elasticvue-轻量级Elasticsearch可视化管理工具
大数据·elasticsearch·搜索引擎
lilye661 天前
程序化广告行业(88/89):广告创意审核的法律红线与平台规则
elasticsearch·zookeeper·memcached
Elasticsearch1 天前
Elasticsearch BBQ 与 OpenSearch FAISS:向量搜索性能对比
elasticsearch
小汤猿人类1 天前
docker安装ES
elasticsearch·docker·容器
Elastic 中国社区官方博客1 天前
Elasticsearch:AI 助理 - 从通才到专才
大数据·数据库·人工智能·神经网络·elasticsearch·搜索引擎·全文检索
CopyLower1 天前
Elasticsearch 查询优化:从原理到实践的全面指南
大数据·elasticsearch·搜索引擎