当前位置:   article > 正文

ElasticSearch 实战:elasticsearch.yml配置说明

elasticsearch.yml

elasticsearch.ymlElasticsearch 的主要配置文件,用于定义集群、节点、网络、数据存储、性能调整等多个方面的设置。以下是 elasticsearch.yml 配置文件中一些关键配置项的说明,以及它们的常用值和含义:

集群设置

  • cluster.name: 定义集群的名称。所有加入同一集群的节点必须使用相同的集群名称。默认值为 elasticsearch
cluster.name: my_cluster
  • 1

节点设置

  • node.name: 节点的唯一标识名称。默认情况下,Elasticsearch 会随机选择一个名称,但手动指定一个有意义的名称有助于管理和监控。
node.name: node1
  • 1
  • node.roles: 定义节点的角色。可能的角色包括 master(参与集群管理,如选举主节点)、data(存储数据)、ingest(处理数据摄取管道)、ml(支持机器学习任务)、transform(支持数据转换任务)、remote_cluster_client(用于跨集群搜索)。默认情况下,节点具有所有角色。
node.roles: [master, data, ingest]
  • 1

网络设置

  • network.host: 指定节点监听的网络接口(IP 地址或主机名)和端口。默认值通常为 localhost,用于仅允许本地访问。若要允许外部访问,可设置为 0.0.0.0 或指定的 IP 地址。
network.host: 0.0.0.0
  • 1
  • http.port: 设置 Elasticsearch HTTP 服务监听的端口。默认值为 9200
http.port: 9200
  • 1

数据存储与内存

  • path.data: 数据文件存储路径。Elasticsearch 将在此目录下创建索引数据文件。
path.data: /var/lib/elasticsearch
  • 1
  • path.logs: 日志文件存储路径。
path.logs: /var/log/elasticsearch
  • 1
  • bootstrap.memory_lock: 是否锁定 JVM 到物理内存以避免分页。在生产环境中建议设为 true,但需要相应的操作系统支持和权限。
bootstrap.memory_lock: true
  • 1
  • heap.size: 设置 JVM 堆大小。应根据系统内存合理调整,避免过大导致交换或过小影响性能。
xpack.ml.enabled: false
  • 1

性能优化与安全性

  • thread_pool.*: 配置各种线程池的行为,如队列大小、拒绝策略等。根据工作负载调整以优化性能。

  • indices.query.bool.max_clause_count: 控制布尔查询的最大子句数。默认值较小,可能需要根据实际查询复杂度提高。

  • xpack.security.enabled: 是否启用 Elasticsearch 安全特性。开启后需要配置用户、角色、权限等。

xpack.security.enabled: true
  • 1

插件与模块

  • plugins: 列出需要在启动时加载的插件。
plugins:
  - discovery-gce
  • 1
  • 2

更高级设置

  • discovery.seed_hosts: 列出集群初始发现的节点列表。当节点启动时,它将尝试连接这些节点以获取集群状态。
discovery.seed_hosts:
  - host1:9300
  - host2:9300
  • 1
  • 2
  • 3
  • cluster.routing.allocation.*: 配置 shard 分配策略,如节点负载均衡、副本分配偏好等。

  • indices.recovery.*: 控制索引恢复行为,如速度限制、并发恢复数等。

  • indices.breaker.*: 设置内存使用阈值,防止 Elasticsearch 因内存压力而崩溃。

日志与调试

  • logger.*: 设置特定类别的日志级别,如 logger.org.elasticsearch: DEBUG

  • cluster.routing.allocation.disk.threshold_enabled: 是否启用磁盘使用率阈值检查,防止因磁盘空间不足导致的问题。

以上仅为 elasticsearch.yml 配置文件中的一部分关键配置项。实际使用时,应根据具体的部署环境、硬件资源、业务需求等因素,参考 Elasticsearch 官方文档进行细致的配置。务必在修改配置后重启 Elasticsearch 服务,使新的配置生效。同时,确保定期备份 elasticsearch.yml 文件,并在升级 Elasticsearch 版本时检查是否有配置变更。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/751789
推荐阅读
相关标签
  

闽ICP备14008679号