Elasticsearch 索引模板、生命周期策略、节点角色

news2024/9/22 13:22:26

简介

  • 索引模板可以帮助简化创建和二次配置索引的过程,让我们更高效地管理索引的配置和映射。

  • 索引生命周期策略是一项有意义的功能。它通常用于管理索引和分片的热(hot)、温(warm)和冷(cold)数据,以及定期删除过期的数据,以确保Elasticsearch的健康运行。

  • Elasticsearch集群中,不同节点扮演着不同的角色(热(hot)、温(warm)和冷(cold)主节点),共同构成了强大的搜索和分析引擎。

ELK系列文章: ELK

此文档基于 8.0版本编写。

索引模板 - Template

索引可使用预定义的模板进行创建,这个模板称作Index templates。模板设置包括设置和映射,通过模式匹配的方式使得多个索引重用一个模板。

索引模式

用于匹配创建的索引。

索引设置

settings主要作用于index的一些相关配置信息,如分片数、副本数,tranlog同步条件、refresh等。

官方文档

下面就是把副本数量指定为2,默认副本数量为1。

{
  "index": {
    "number_of_replicas": "2"
  }
}
  • index.codec 默认使用 LZ4 压缩存储的数 压缩,但可以将其设置为使用 DEFLATE 进行更高的压缩比,以较慢的存储字段性能为代价。

  • index.number_of_replicas 每个主分片的副本数。默认值为 1。

  • index.number_of_shards 索引应具有的主分片数。默认值为1 。此设置只能在创建索引时设置。不能在索引上的更改它。

索引映射

mappings主要是一些说明信息,大致又分为_all、_source、prpperties这三部分:

  1. _all:主要指的是AllField字段,我们可以将一个或多个都包含进来,在进行检索时无需指定字段的情况下检索多个字段。设置

  2. _source:主要指的是SourceField字段,Source可以理解为ES除了将数据保存在索引文件中,另外还有一份源数据。_source字段在我们进行检索时相当重要,如果在{“enabled” : false}情况下默认检索只会返回ID, 你需要通过Fields字段去到索引中去取数据,效率不是很高。但是enabled设置为true时,索引会比较大,这时可以通过Compress进行压缩和inclueds、excludes来在字段级别上进行一些限制,自定义哪些字段允许存储。

  3. properties:这是最重要的步骤,主要针对索引结构和字段级别上的一些设置。“_all” : {“enabled” : true}

咱们通常在elasticsearch中 post mapping信息,每重新创建索引便到设置mapping,分片,副本信息。非常繁琐。强烈建议大家通过设置模板方式设置索引信息。设置索引名,通过正则匹配的方式匹配到相应的模板。

直接修改mapping的优先级>索引模板。索引匹配了多个模板,当属性等配置出现不一致的,以order的最大值为准,order默认值为0

创建过程 - Kibana

选择 Stack Management > 数据 > 索引管理 > 索引模板 > 创建模板

配置名称和索引模式

填写名称、和索引模式和开启允许自动创建索引。点击下一步,跳过组件模板。

注意索引模式需要匹配要创建的索引名称。

索引设置

配置副本数量为2,点击下一步到复查模板。最后点击创建模板。

最终索引模式匹配的创建模板,都会套用模板配置。

索引生命周期

索引生命周期可以手动关联模板,也可以通过索引模板自动关联。

创建

选择 Stack Management > 数据 > 索引管理 > 索引生命周期策略 > 点击创建策略。

创建策略,配置热阶段 180天后转换为冷阶段,并把副本数量改为0。再过365天后删除。

冷阶段配置

配置副本分片重定为0,并配置此阶段后删除。

删除阶段

配置冷阶段365天后删除索引。

关联索引模板

在这里插入图片描述

集群角色

node.roles: [ data, master ]
# 配置文件示例

主节点(Master-eligible node

  • 主节点的核心用途:集群层面的管理,例如创建或删除索引、跟踪哪些节点是集群的一部分,以及决定将哪些分片分配给哪些节点。主节点的path.data 用于存储集群元数据信息,不可缺少。

  • 主节点的重要性:拥有稳定的主节点对于集群健康非常重要。

和早期版本不同,节点角色划分后,主节点又被细分为:候选主节点和仅投票主节点。

  • 主节点存储数据:集群中每个索引的索引元数据,集群层面的元数据。

专用候选主节点(Dedicated master-eligible node

如果集群规模大、节点多之后,有必要独立设置专用候选主节点。

专用候选主节点配置:

node.roles: [ master ]

仅投票主节点(Voting-only master-eligible node

用途:仅投票,不会被选为主节点。

硬件配置可以较专用候选主节点低一些。

仅投票主节点配置:

node.roles: [ master, voting_only ]

注意:master 在集群中必不可少。

关于集群主节点配置,要强调说明如下:

  • 高可用性 (HA) 集群需要至少三个符合主节点资格的节点;其中至少两个不是仅投票节点。

  • 即使其中一个节点发生故障,这样的集群也将能够选举一个主节点。

数据节点(Data node

数据节点用途:数据落地存储、数据增、删、改、查、搜索、聚合操作等处理操作。

数据节点硬件配置:CPU 要求高、内存要求高、磁盘要求高。

专属数据节点好处:主节点和数据节点分离,各司其职。

数据节点存储内容:

  • 分片数据。

  • 每个分片对应的元数据。

  • 集群层面的元数据,如:setting 和 索引模板。

拥有专用数据节点的主要好处是主角色和数据角色的分离。

数据节点的配置:

node.roles: [ data ]

用途:运行转换并处理转换 API 请求。这块,咱们之前文章没有涉及。

在 Elastic 多层(tires)冷热集群架构体系下,数据节点又可以细分为:

  • 内容数据节点(Content data node)

  • 热数据节点(Hot data node)

  • 温数据节点(Warm data node)

  • 冷数据节点(Cold data node)

  • 冷冻数据节点(Frozen data node)

内容数据节点

用途:处理写入和查询负载,具有较长的数据保留要求。

建议至少设置一个副本,以保证数据的高可用。

不属于数据流的系统索引或其他索引会自动分配到内容数据节点。

node.roles: [ data_content ]

热数据节点

用途:保存最近、最常访问的时序数据。

推荐使用:SSD 磁盘,至少设置一个副本。

node.roles: [ data_hot ]

****

温数据节点

用途:保存访问频次低且很少更新的时序数据。

node.roles: [ data_warm ]

冷数据节点

用途:保存不经常访问且通常不更新的时序数据。可存储可搜索快照。

node.roles: [ data_cold ]

冷冻数据节点

用途:保存很少访问且从不更新的时序数据。

node.roles: [ data_frozen ]

在冷热集群架构时序数据 ILM 索引生命周期管理的实战演练环节,验证发现:

在配置节点角色时,data_hot、data_warm、data_cold 要和 data_content 要一起配置。且 data_hot、data_warm、data_cold 不要和原有的data 节点一起配置了。

如果仅data_hot 不设置 data_content 会导致集群数据写入后无法落地。

我的理解:data_hot, data_warm, data_cold 是标识性的节点,实际落地存储还得靠 data_content 角色。

数据预处理节点(ingest node

用途:执行由预处理管道组成的预处理任务。

关于啥是数据的预处理?之前有多篇文章解读过:

Elasticsearch 预处理没有奇技淫巧,请先用好这一招!

Elasticsearch的ETL利器——Ingest节点

node.roles: [ ingest ]

仅协调节点(Coordinating only node

用途:类似智能负载均衡器,负责:路由分发请求、聚集搜索或聚合结果。

注意事项:在一个集群中添加太多的仅协调节点会增加整个集群的负担,因为当选的主节点必须等待来自每个节点的集群状态更新的确认。

node.roles: [ ]

# 空配置

空即是“色”,不对,这里空即是“仅协调节点”。

远程节点(Remote-eligible node

用途:跨集群检索或跨集群复制。

node.roles: [ remote_cluster_client ]

3.6 机器学习节点(Machine learning node

用途:机器学习,系收费功能。

node.roles: [ ml, remote_cluster_client]

3.7 转换节点(Transform node

用途:运行转换并处理转换 API 请求。这块,咱们之前文章没有涉及。

推荐阅读:

https://www.elastic.co/guide/en/elasticsearch/reference/current/transform-overview.html

node.roles: [ transform, remote_cluster_client ]

角色资源耗费

参考

https://chenzhonzhou.github.io/2021/01/31/elasticsearch-suo-yin-mo-ban-template/

https://cloud.tencent.com/developer/article/2009025

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

尽可能使用清晰、统一的方式初始化所有对象:列表初始化。【C++】

不管是为了统一性,还是避免发生窄化转换,尽可能使用初始化列表。 说明哪些对象可以使用列表初始化?代码演示 说明 C11 引入了列表初始化(也称为统一初始化或初始化列表),它是一种使用花括号 {} 来初始化对…

对象实例化在bean注入之前导致@Autowired失效

开发时遇到一个问题,Springboot的Autowired失效,无法注入bean,获取的到的mqttProperties一直为空。 MqttProperties定义: 业务代码: 按理来说,我的MqttProperties和当前类 NettyMqttClient都注册为了bea…

铁道障碍物检测6种YOLOV8

铁道障碍物检测6种,采用YOLOV8训练,得到PT模型,然后转换成ONNX模型,OPENCV调用 铁道障碍物检测6种YOLOV8

YOLOv8 | 注意力机制 | 添加ECA注意力机制

目录 原理简介 代码实现 yaml文件实现 检查是否添加执行成功

教大家几种解决msvcr120.dll文件丢失的问题以及解决办法

当这个msvcr120.dll文件丢失或损坏时,依赖它的程序可能无法启动或正常运行,这可能影响电脑的使用效率。如果用户遇到因缺少msvcr120.dll而导致的程序错误,安装或修复这个msvcr120.dll文件是一种维护措施,可以帮助恢复软件的正常功…

【python从入门到精通】--第一战:安装python

🌈 个人主页:白子寰 🔥 分类专栏:python从入门到精通,魔法指针,进阶C,C语言,C语言题集,C语言实现游戏👈 希望得到您的订阅和支持~ 💡 坚持创作博文…

餐饮连锁食品安全标准落实难?悠络客AI巡检,用SOP AI化守护“舌尖上的安全”

食品安全与卫生问题一直是全民关注的焦点,从民生角度,民以食为天,食品安全关系到消费者的身体健康和生命安全;从企业角度,品牌建设不易,一旦出现食品卫生安全问题,不仅会带来直接经济损失&#…

Web实战:采用JSP+ Servlet + DB实现用户登录功能

文章目录 一、项目运行效果二、项目实现步骤三、项目实战总结 一、项目运行效果 二、项目实现步骤 三、项目实战总结 本实战项目采用了JSP Servlet DB的组合,搭建了一个简单的用户登录功能。通过创建数据库、用户表、Jakarta EE项目,以及编写用户实体类…

慧天【HTWATER】软件是什么?在城市内涝水文水动力耦合模拟中如何应用小李15833332534

慧天[HTWATER]软件简介 针对城市排水系统基础设施数据管理的需求,以及水文、水力及水质模拟对数据的需求,实现了以数据库方式对相应数据的存储。可以对分流制排水系统及合流制排水系统进行地表水文、管网水力、水质过程的模拟计算。可以对城市低影响开发…

Linux命令学习入门

文章目录 登录注销关机重启Vim编辑器快捷键文件目录类打包、解包、压缩和解压指令输出重定向>和追加>>指令时间日期类搜索查找类用户管理文件所有者所在组权限管理变更权限crond任务时间调度crond相关指令:特殊符号说明: at定时任务磁盘分区磁盘…

力扣HOT100 - 1. 两数之和

解题思路&#xff1a; 解法一&#xff1a;暴力 class Solution {public int[] twoSum(int[] nums, int target) {int n nums.length;for (int i 0; i < n; i)for (int j i 1; j < n; j) {if (target nums[i] nums[j])return new int[] { i, j };}return new int[…

复盘一下我用过的设计模式

建造者模式 保卫萝卜中使用了建造者模式。UML图如下&#xff1a; 接口&#xff1a; public interface IBuilder<T> {//获取到游戏物体身上的脚本对象&#xff0c;从而去赋值T GetProductorClass(GameObject gameObject);//使用工厂去获取具体的游戏对象GameObject GetP…

探索生成式AI Agent,让公众自动化触手可及

在科技浪潮的推动下&#xff0c;AI Agent市场正经历深刻变革。Kognitos智能RPA厂商凭借675万美元融资和生成式AI自动化的定位&#xff0c;吸引业界关注。然而&#xff0c;微软早已将ChatGPT融入Power Platform&#xff0c;提供低代码应用开发体验&#xff0c;引领市场。初创公司…

聚类算法之高斯混合模型聚类 (Gaussian Mixture Model, GMM)

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 高斯混合模型&#xff08;GMM&#xff09;是统计模型中的一颗璀璨之星&#xff0c;它为数据提供了一种复杂而又强大的表示方法。在机器学习的许多…

2024年云服务器ECS价格表出炉——腾讯云

腾讯云服务器多少钱一年&#xff1f;61元一年起。2024年最新腾讯云服务器优惠价格表&#xff0c;腾讯云轻量2核2G3M服务器61元一年、2核2G4M服务器99元一年可买三年、2核4G5M服务器165元一年、3年756元、轻量4核8M12M服务器646元15个月、4核16G10M配置32元1个月、312元一年、8核…

C语言之strchr用法实例(八十八)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

产品经理面试自我介绍,这3大错误千万别犯!

金三银四求职季&#xff0c;你是不是也有面试的冲动&#xff01;但面试并不是头脑一热就能取得好结果&#xff0c;在此之前&#xff0c;必须得有周全的准备&#xff0c;才能应对好面试官的“连环问”&#xff01; 所以&#xff0c;今天这篇产品经理面试干货分享给大家~ 今天文…

选择靠谱的su模型库免费下载,让你事半功倍!

在建筑设计、室内设计等领域&#xff0c;SU模型库的使用已经成为了一种趋势。选择一个靠谱的SU模型库进行免费下载&#xff0c;确实可以大大提高设计工作的效率。那么&#xff0c;如何选择一个靠谱的su模型库免费下载呢? 一、了解su模型库的基本功能 在选择su模型库时&#xf…

第十三届蓝桥杯省赛真题 Java A 组【原卷】

文章目录 发现宝藏【考生须知】试题 A: 裁纸刀试题 B: 寻找整数试题 C : \mathrm{C}: C: 求和试题 D: GCD试题 E: 蜂巢试题 F : \mathrm{F}: F: 全排列的价值试题 G: 青蛙过河试题 H \mathrm{H} H : 因数平方和试题 I: 最优清零方案试题 J : \mathrm{J}: J: 推导部分和 发现…

「MySQL」数据库约束

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;数据库 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 数据库约束 &#x1f349;约束类型&#x1f34c;NOT NULL&#x1f34c;UNIQUE&#x1f34c;DEFAULT&#x1f34c;主键&#x1f34c;外键…