Elasticsearch教程 | 第二篇:常见的参数配置

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

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

配置文件位置:

Elasticsearch 有三个配置文件:

  • elasticsearch.yml 用于配置 Elasticsearch
  • jvm.options 用于配置 Elasticsearch JVM 设置
  • log4j2.properties 用于配置 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"

集群和节点设置类型编辑

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

动态的

可以使用集群更新设置 API在正在运行的集群上配置和更新设置 。也可以在未启动或关闭的节点上使用本地配置设置 elasticsearch.yml。

使用集群更新设置 API 进行的更新是可以持久的,适用于集群重新启动,也可以是瞬态的,在集群重新启动后重置。还可以通过null使用 API为其分配一个值来重置临时或持久设置。

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

  1. 瞬态设置
  2. 持久设置
  3. elasticsearch.yml 环境
  4. 默认设置值

例如,您可以应用临时设置来覆盖永久设置或elasticsearch.yml设置。但是,对elasticsearch.yml 设置的更改不会覆盖已定义的瞬态或持久设置。

静止的

静态设置只能在未启动或关闭的节点上使用 elasticsearch.yml.

必须在集群中的每个相关节点上设置静态设置。

重要的 Elasticsearch 配置

Elasticsearch 只需很少的配置即可开始使用,但在生产中使用集群之前必须考虑许多事项:

  • 路径设置
  • 集群名称设置
  • 节点名称设置
  • 网络主机设置
  • 发现设置
  • 堆大小设置
  • JVM 堆转储路径设置
  • GC 日志设置
  • 临时目录设置
  • JVM致命错误日志设置
  • 集群备份

路径设置

Elasticsearch 将您索引的数据写入索引并将数据流写入data 目录。Elasticsearch 将自己的应用程序日志写入一个logs目录,其中包含有关集群运行状况和操作的信息。

path:
  data: /var/data/elasticsearch
  logs: /var/log/elasticsearch

集群名称设置

cluster.name: logging-prod

节点名称设置

node.name: prod-data-2

网络主机设置

network.host: 192.168.1.10

发现集群设置

在进入生产之前配置两个重要的发现和集群形成设置,以便集群中的节点可以相互发现并选举一个主节点。

discovery.seed_hosts:
   - 192.168.1.10:9300
   - 192.168.1.11 
   - seeds.mydomain.com 
   - [0:0:0:0:0:ffff:c0a8:10c]:9301 
  1. 端口是可选的,默认为9300,但可以被覆盖。

  2. 如果一个主机名解析为多个 IP 地址,该节点将尝试在所有解析地址处发现其他节点。

  3. IPv6 地址必须用方括号括起来。

堆大小设置

默认情况下,Elasticsearch 会根据节点的角色和总内存自动设置 JVM 堆大小 。建议大多数生产环境使用默认大小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一点博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值