前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Elasticsearch教程 | 第二篇:常见的参数配置

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

作者头像
一点博客
发布2021-11-16 16:52:06
5660
发布2021-11-16 16:52:06
举报
文章被收录于专栏:一点博客

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

配置文件位置

Elasticsearch 有三个配置文件:

•elasticsearch.yml 用于配置 Elasticsearch•jvm.options 用于配置 Elasticsearch JVM 设置•log4j2.properties 用于配置 Elasticsearch 日志记录

配置文件格式编辑

配置格式为YAML。以下是更改数据和日志目录路径的示例:

代码语言:javascript
复制
path:
    data: /var/lib/elasticsearch
    logs: /var/log/elasticsearch

设置也可以按如下方式展平:

代码语言:javascript
复制
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch

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

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

或者:

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

环境变量替换

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

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

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

代码语言:javascript
复制
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目录,其中包含有关集群运行状况和操作的信息。

代码语言:javascript
复制
path:
  data: /var/data/elasticsearch
  logs: /var/log/elasticsearch

集群名称设置

代码语言:javascript
复制
cluster.name: logging-prod

节点名称设置

代码语言:javascript
复制
node.name: prod-data-2

网络主机设置

代码语言:javascript
复制
network.host: 192.168.1.10

发现集群设置

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

代码语言:javascript
复制
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 堆大小 。建议大多数生产环境使用默认大小。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一点博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置文件位置
    • 配置文件格式编辑
    • 环境变量替换
    • 集群和节点设置类型编辑
      • 动态的
        • 静止的
        • 重要的 Elasticsearch 配置
          • 路径设置
            • 集群名称设置
              • 节点名称设置
                • 网络主机设置
                  • 发现集群设置
                    • 堆大小设置
                    相关产品与服务
                    Elasticsearch Service
                    腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档