Elasticsearch 的核心配置文件主要用于控制节点行为、集群设置、资源分配和日志记录等关键功能。主要配置文件通常位于 ES_HOME/config 目录下,以下是三个最核心的配置文件及其详细说明:


1. elasticsearch.yml

核心集群与节点配置
这是最重要的配置文件,包含集群拓扑、网络、存储、安全等全局设置。

关键配置项:

  • 基础设置:

    cluster.name: my-elastic-cluster  # 集群名称(同一集群所有节点需一致)
    node.name: node-1                 # 当前节点名称(建议唯一)
    
  • 节点角色设置 (ES 7.9+):

    node.roles: [ data, master ]      # 节点角色:data(数据节点), master(主节点), ingest(预处理节点)
    # 生产环境建议分离 master 和 data 角色
    
  • 网络与通信:

    network.host: 192.168.1.10       # 绑定IP(默认localhost,生产需改为实际IP)
    http.port: 9200                  # REST API 端口
    transport.port: 9300             # 节点间通信端口
    discovery.seed_hosts: ["host1", "host2"]  # 集群种子节点列表
    cluster.initial_master_nodes: ["node-1", "node-2"]  # 初始主节点(首次启动时指定)
    
  • 存储路径:

    path.data: /var/data/elasticsearch  # 数据存储目录(可配置多个路径)
    path.logs: /var/log/elasticsearch   # 日志目录
    
  • 安全配置 (X-Pack):

    xpack.security.enabled: true        # 启用基础安全(用户名/密码)
    xpack.security.transport.ssl.enabled: true  # 节点间通信加密
    
  • 内存保护 (防止OOM):

    bootstrap.memory_lock: true          # 锁定内存(避免交换分区影响性能)
    

2. jvm.options

JVM 堆内存与垃圾回收配置
控制 Elasticsearch 进程的内存使用和GC策略。

关键配置:

  • 堆内存大小:

    -Xms4g   # 初始堆内存(建议设为与最大值相同)
    -Xmx4g   # 最大堆内存(不超过物理内存的50%,且不超过30GB)
    

    建议: 生产环境推荐 16-30GB,避免过大引发长GC停顿。

  • 垃圾回收器:

    -XX:+UseG1GC               # Java 8+ 默认推荐
    -XX:MaxGCPauseMillis=500   # 目标GC停顿时间
    
  • 其他优化:

    -Des.index.memory.max_bytes=32gb  # 控制索引内存上限
    

3. log4j2.properties

日志记录配置
控制日志级别、滚动策略和输出格式。

常用配置:

# 日志级别(ERROR, WARN, INFO, DEBUG)
logger.cluster.name = org.elasticsearch.cluster
logger.cluster.level = info# 日志滚动策略(按日期/大小分割)
appender.rolling.type = RollingFile
appender.rolling.filePattern = ${sys:es.logs.base_path}/${sys:es.logs.cluster_name}_%d{yyyy-MM-dd}.log 
appender.rolling.policies.type = Policies
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size = 256MB  # 单个日志文件上限

重要补充配置

  1. 操作系统级优化:

    • 增大文件描述符限制(/etc/security/limits.conf
    • 禁用交换分区(sudo swapoff -a
    • 调整虚拟内存映射(sysctl -w vm.max_map_count=262144
  2. 集群动态设置 (通过API):

    PUT /_cluster/settings
    {"persistent": {"indices.breaker.fielddata.limit": "60%"  # 字段数据熔断器}
    }
    

配置最佳实践

  1. 集群名称唯一性:避免不同集群意外加入。
  2. 绑定真实IPnetwork.host 勿用 0.0.0.0(生产环境)。
  3. JVM内存固定-Xms-Xmx 必须相同。
  4. 分离节点角色:大集群中区分 Master/Data/Ingest 节点。
  5. 定期备份配置:使用 Ansible/Puppet 等工具管理配置版本。

📌 注意:修改配置后需重启节点(部分动态设置可通过API调整)。
详细配置参考官方文档:Elasticsearch Configuration

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/97095.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/97095.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/97095.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习框架下:金价近3400关口波动,AI量化模型对PCE数据的动态监测与趋势预测

摘要:本文通过AI多因子模型,结合宏观经济数据、政策动态及市场情绪因子,分析黄金价格波动机制及关键驱动要素。基于量化策略与自然语言处理技术,对美联储独立性争议、美债收益率曲线形态及PCE通胀数据等核心变量进行动态建模&…

【Redis#8】Redis 数据结构 -- Zset 类型

一、引言 定义:有序集合(Zset)是Redis中的一种数据结构,它结合了哈希表和跳跃列表的特性。每个 member 都有一个分数(score),根据这个分数进行排序。 特点: member 不能重复,但分数可以相同&…

Postman 模拟mcp tool调用过程

文章目录 初始化调用 mcp server使用modelcontextprotocol 的java sdk编写 初始化 1.网页访问http://localhost:8090/sse,此页面保持开启,会不断接收到sse事件. 会返回一个endpoint,例如/mcp/message?sessionId111 2.初始化请求,postman发送post请求 url:http://localhost:…

init.usb.configfs.rc的USB动态配置

1. 什么是ConfigFSConfigFS 是 Linux 内核提供的一种用户空间可配置的伪文件系统在Linux内核中一个设备(如手机)作为USB从设备时,成为一个“Gadget”。路径:/config/usb_gadget/,g1表示系统重第一个USB Gadget的配置实…

广东省省考备考(第八十九天8.28)——判断推理(听课后强化训练)

判断推理:定义判断 错题解析 第一步:找出定义关键词。 “为了明确所承运的货物是否发生了残损,以及残损责任是否属于船方”。 第二步:逐一分析选项。 A项:甲船向商检机构申请检查船舶卸货前舱口、风筒的封盖和封识情况…

【C++】C++11的右值引用和移动语义

各位大佬好,我是落羽!一个坚持学习进步的学生。 如果您觉得我的文章还不错,欢迎多多互三分享交流,一起学习进步! 也欢迎关注我的blog主页: 落羽的落羽 文章目录一、C11简介二、左值和右值是什么三、左值引用与右值引…

Logic Error: 如何识别和修复逻辑错误

逻辑错误是指程序中的代码在语法上是正确的,但在执行时没有按预期工作。这种错误可能导致程序输出错误的结果或行为异常。逻辑错误通常比语法错误更难检测,因为它们不会产生编译或解释错误。本文将详细介绍如何识别和修复逻辑错误。一、识别逻辑错误1. 理…

TUN模式端口冲突 启动失败如何解决?

从日志信息来看,TUN模式启动失败是由于端口冲突导致的。 具体来说,Xray在尝试监听10808端口时失败了,因为该端口已经被其他进程占用。 错误信息分析 Failed to start: app/proxyman/inbound: failed to listen TCP on 10808 > transport/i…

如何调试一个EVM合约:实战操作 + 常见报错说明

在Solidity开发过程中,大多数开发者最常遇到的问题不是“代码写不了”,而是“代码部署了,但行为不对”。本篇文章将带你梳理一套完整的EVM智能合约调试流程,并附上几类真实常见报错场景及排查方法,适用于Hardhat、Remi…

使用Wireshark分析自助终端机网络数据

如果是明文还好, 是密文就没办法了。工具.1自助终端机.2组装结构主流架构选择‌B/S架构‌:通过Web应用调用本地硬件插件,开发速度快但依赖浏览器兼容性。 ‌‌C/S架构‌:直接调用硬件驱动,交互响应快但更新维护复杂。 …

数学建模——马尔科夫链(Markov Chain Model)

数学建模——马尔科夫链(Markov Chain Model)一、马尔可夫链的定义1. 状态与状态空间2. 无后效性(马尔科夫性)​3. 转移概率与转移概率矩阵(1)一步转移概率(2)转移概率矩阵二、马尔科…

《拉康精神分析学中的欲望辩证法:能指的拓扑学与主体的解构性重构》

在当代人文思想图谱中,雅克拉康以语言学为利刃对弗洛伊德理论进行的结构性重铸构成了20世纪最具颠覆性的理论创造之一。这位被誉为"法国弗洛伊德"的思想巨匠通过"回到弗洛伊德"的口号,实则完成了对精神分析学的哥白尼式革命——将主…

数字时代下的智能信息传播引擎

在商场、楼宇、交通枢纽等公共场所,数字广告机已成为信息传播的重要载体。其背后的广告机系统,是一套集硬件控制、内容管理、网络传输与数据分析于一体的综合技术解决方案,正推动传统静态广告向动态化、交互化、智能化方向演进。系统架构与核…

文献阅读笔记:KalmanNet-融合神经网络和卡尔曼滤波的部分已知动力学状态估计

文献阅读笔记:KalmanNet-融合神经网络和卡尔曼滤波的部分已知动力学状态估计摘要一、研究背景1.1 状态估计问题的重要性1.2 传统方法的局限:非线性与模型不确定性非线性问题噪声统计未知问题1.3 数据驱动方法的兴起与局限1.4 KalmanNet:混合方…

使用EasyExcel根据模板导出文件

文章目录概要工具类核心功能核心代码解析模板导出核心方法文件下载处理HTTP响应设置文件下载处理使用示例概要 在企业级应用开发中,Excel数据导出是一个常见的需求。本文实现一个基于阿里巴巴EasyExcel库实现的根据模板导出文件的工具类,它通过预定义的…

【AI基础:神经网络】19、机器学习实战:径向基函数神经网络(RBFN)指南

一、引言:为什么RBFN是神经网络中的“局部专家”? 在机器学习领域,神经网络的“全局逼近”与“局部逼近”一直是两大核心思路。像我们熟悉的多层感知机(MLP),使用Sigmoid、ReLU等全局激活函数,每个神经元都会对整个输入空间产生响应——就像“全员参与”处理所有数据,…

Linux 性能调优实战:CPU、磁盘 I/O、网络与内核参数

前言 一、CPU 资源调优 1. 调整进程优先级(nice/renice) 2. 设置 CPU 亲和力(taskset) 3. 查看 CPU 信息 4. 使用 vmstat 分析系统瓶颈 二、磁盘 I/O 调优 1. ulimit 资源限制 2. 磁盘速度测试 三、内核参数调优 1. 常用…

【进阶篇第五弹】《详解存储过程》从0掌握MySQL中的存储过程以及存储函数

文章目录存储过程一、基本语法(1)创建存储过程(2)调用存储过程(3)查看存储过程(4)删除存储过程(5)设置结束符(6)参数二、变量(1)系统变量(2)用户自定义变量(3)局部变量三、基本语句(1)if判断(2)case(3)while循环(4)repeat(5)loop循环四、游标五、条件处理程序六、存储函数存储过…

HarmonyOS布局实战:用声明式UI构建自适应电商卡片

首先诚邀大家参加学习鸿蒙拿好礼活动,即日起,只要加入班级考取华为开发者基础/高级证书,并发表一篇技术文章,就有机会获得官方发放的精美礼品,数量有限,先到先得。冷老师的班级链接如下:​华为开…

日语学习-日语知识点小记-构建基础-JLPT-N3阶段(21):文法+单词第7回3

日语学习-日语知识点小记-构建基础-JLPT-N3阶段(21):文法单词第7回3 1、前言(1)情况说明(2)工程师的信仰2、知识点1ー 。。。と。。。なる2ーVて欲しい ・ …