当前位置: 首页 > news >正文

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

简介

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

  • 索引生命周期策略是一项有意义的功能。它通常用于管理索引和分片的热(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

相关文章:

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

简介 索引模板可以帮助简化创建和二次配置索引的过程,让我们更高效地管理索引的配置和映射。 索引生命周期策略是一项有意义的功能。它通常用于管理索引和分片的热(hot)、温(warm)和冷(cold)数…...

buy me a btc 使用数字货币进行打赏赞助

最近在调研使用加密货币打赏的平台,发现idatariver平台 https://idatariver.com 推出的buymeabtc功能刚好符合使用场景,下图为平台的演示项目, 演示项目入口 https://buymeabtc.com/idatariver 特点 不少人都听说过buymeacoffee,可以在上面发…...

Solidity Uniswap V2 Router swapTokensForExactTokens

最初的router合约实现了许多不同的交换方式。我们不会实现所有的方式,但我想向大家展示如何实现倒置交换:用未知量的输入Token交换精确量的输出代币。这是一个有趣的用例,可能并不常用,但仍有可能实现。 GitHub - XuHugo/solidit…...

网络安全渗透测试工具

网络安全渗透测试常用的开发工具包括但不限于以下几种: Nmap:一款网络扫描工具,用于探测目标主机的开放端口和正在运行的服务,是网络发现和攻击界面测绘的首选工具。Wireshark:一个流量分析工具,用于监测网…...

springcloud+nacos服务注册与发现

快速开始 | Spring Cloud Alibaba 参考官方快速开始教程写的,主要注意引用的包是否正确。 这里是用的2022.0.0.0-RC2版本的springCloud,所以需要安装jdk21,参考上一个文章自行安装。 nacos-config实现配置中心功能-CSDN博客 将nacos-conf…...

【C++程序员的自我修炼】基础语法篇(一)

心中若有桃花源 何处不是水云间 目录 命名空间 💞命名空间的定义 💞 命名空间的使用 输入输出流 缺省参数 函数的引用 引用的定义💞 引用的表示💞 引用的特性💞 常量引用💞 引用的使用场景 做参数 做返回值…...

小狐狸JSON-RPC:钱包连接,断开连接,监听地址改变

detect-metamask 创建连接,并监听钱包切换 一、连接钱包,切换地址(监听地址切换),断开连接 使用npm安装 metamask/detect-provider在您的项目目录中: npm i metamask/detect-providerimport detectEthereu…...

union在c语言中什么用途

在C语言中,union是一种特殊的数据类型,可以在同一块内存中存储不同类型的数据。它的主要用途有以下几个: 1. 节省内存:由于union只占用其成员中最大的数据类型所占用的内存空间,可以在不同的情况下使用同一块内存来存…...

2024年华为OD机试真题- 寻找最优的路测线路-Java-OD统一考试(C卷)

题目描述: 评估一个网络的信号质量,其中一个做法是将网络划分为栅格,然后对每个栅格的信号质量计算。路测的时候,希望选择一条信号最好的路线(彼此相连的栅格集合)进行演示。现给出R行C列的整数数组Cov,每个单元格的数值S即为该栅格的信号质量(已归一化,无单位,值越大…...

WPF 多路绑定、值转换器ValueConvert、数据校验

值转换器 valueconvert 使用ValueConverter需要实现IValueConverter接口,其内部有两个方法,Convert和ConvertBack。我们在使用Binding绑定数据的时候,当遇到源属性和目标控件需要的类型不一致的,就可以使用ValueConverter&#xf…...

【Linux多线程】线程的同步与互斥

【Linux多线程】线程的同步与互斥 目录 【Linux多线程】线程的同步与互斥分离线程Linux线程互斥进程线程间的互斥相关背景概念问题产生的原因: 互斥量mutex互斥量的接口互斥量实现原理探究对锁进行封装(C11lockguard锁) 可重入VS线程安全概念常见的线程不安全的情况…...

Linux网卡bond的七种模式详解

像Samba、Nfs这种共享文件系统,网络的吞吐量非常大,就造成网卡的压力很大,网卡bond是通过把多个物理网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,具体的功能取决于采用的哪种模式。 Lin…...

【学习笔记】java项目—苍穹外卖day01

文章目录 苍穹外卖-day01课程内容1. 软件开发整体介绍1.1 软件开发流程1.2 角色分工1.3 软件环境 2. 苍穹外卖项目介绍2.1 项目介绍2.2 产品原型2.3 技术选型 3. 开发环境搭建3.1 前端环境搭建3.2 后端环境搭建3.2.1 熟悉项目结构3.2.2 Git版本控制3.2.3 数据库环境搭建3.2.4 前…...

C++之STL整理(2)之vector超详用法整理

C之STL整理(2)之vector用法(创建、赋值、方法)整理 注:整理一些突然学到的C知识,随时mark一下 例如:忘记的关键字用法,新关键字,新数据结构 C 的vector用法整理 C之STL整…...

机器学习作业二之KNN算法

KNN(K- Nearest Neighbor)法即K最邻近法,最初由 Cover和Hart于1968年提出,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路非常简单直观:如果一个样本在特征空间中的K个最相似&…...

笔记81:在服务器中运行 Carla 报错 “Disabling core dumps.”

背景:使用实验室提供的服务器配 Carla-ROS2 联合仿真的实验环境,在安装好 Carla 后运行 ./CarlaUE4.sh 但是出现 Disabling core dumps. 报错,而且不会出现 Carla 的窗口; 解决:运行以下命令 ./CarlaUE4.sh -carl…...

ensp中pc机访问不同网络的服务器

拓扑图如下,资源已上传 说明:pc通过2个路由访问server服务器 三条线路分别是192.168.1.0网段,192.168.2.0网段和192.168.3.0网段,在未配置的情况下,pc设备是访问不到server的 具体操作流程 第一;pc设备…...

CSGO赛事管理系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW,文末可获取本项目的所有资料。 推荐阅读100套最新项目持续更新中..... 2024年计算机毕业论文(设计)学生选题参考合集推荐收藏(包含Springboot、jsp、ssmvue等技术项目合集) 目录 1. 系…...

win10微软拼音输入法 - bug - 在PATH变量为空的情况下,无法输入中文

文章目录 win10微软拼音输入法 - bug - 在PATH变量为空的情况下,无法输入中文概述笔记实验前提条件100%可以重现 - 无法使用win10拼音输入法输入中文替代的输入法软件备注备注END win10微软拼音输入法 - bug - 在PATH变量为空的情况下,无法输入中文 概述…...

Java安全篇-Fastjson漏洞

前言知识: 一、json 概念: json全称是JavaScript object notation。即JavaScript对象标记法,使用键值对进行信息的存储。 格式: {"name":"wenda","age":21,} 作用: JSON 可以作为…...

Python自动化脚本:模拟鼠标键盘输入保持系统活跃状态

1. 项目概述:当你的电脑需要“假装在线”你有没有遇到过这样的场景:公司要求电脑必须保持在线状态,否则会被判定为“离开”或“闲置”,影响考勤或系统状态;或者,你在运行一个需要持续交互的软件&#xff0c…...

Ai小程序入门00-初识AI编程(小白入门:不懂代码也能做小程序?AI编程到底怎么玩)

Ai小程序入门00-初识AI编程(小白入门:不懂代码也能做小程序?AI编程到底怎么玩) 📌 文章简介:很多人都有一个"做个小程序赚钱"或"实现自己创意"的梦想,但往往被复杂的代码、繁琐的环境配置劝退。如今,AI 编程工具(如 Cursor、Claude 等)彻底改变…...

跨工具技能同步:构建统一操作习惯的中间层架构与实践

1. 项目概述:一个跨工具技能同步的构想在数字工具爆炸式增长的今天,我们每个人几乎都活在一个“工具丛林”里。作为一名长期与各种生产力工具、开发环境、设计软件打交道的从业者,我深刻体会到一种割裂感:在A工具里熟练无比的快捷…...

手机市场饱和下的细分突围:从功能过剩到场景化专用设备

1. 市场饱和与行业焦虑的根源手机销量下滑,这已经不是新闻,而是悬在所有制造商头顶的一把达摩克利斯之剑。当全球73亿人口中,手机用户数达到惊人的68亿时,市场饱和的警钟就已经敲响。这不是一个简单的周期性波动,而是整…...

AI代理如何通过MCP协议实现DeFi自动化操作与安全交互

1. 项目概述:当DeFi遇上AI代理,一场链上金融的自动化革命如果你和我一样,在DeFi(去中心化金融)世界里摸爬滚打了好几年,从早期的流动性挖矿到后来的各种收益聚合器,一个深刻的体会是&#xff1a…...

TVA 与传统工业视觉:技术内核与应用分野(5)

重磅预告:本专栏将独家连载新书《AI视觉技术:从入门到进阶》精华内容。本书是《AI视觉技术:从进阶到专家》的权威前导篇,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan先生师从美国三院院士、“AI教…...

三大聚类算法对比

聚类算法核心对比:划分聚类、层次聚类与密度聚类 在无监督学习中,聚类算法根据其核心思想和构建簇的方式,主要分为基于划分、基于层次和基于密度三大类。下表从定义、核心原理、关键步骤及应用场景等方面对这三种主流方法进行了系统性对比。…...

AI智能体开发实战:从AwesomeClaw看开源框架与工具集成

1. 项目概述:从“AwesomeClaw”看开源AI智能体的进化最近在GitHub上看到一个挺有意思的项目,叫“AwesomeClaw”。初看这个名字,你可能会联想到“Awesome”系列——那些汇集了某个领域优质资源的清单。但“Claw”(爪子)…...

Agent-Harness:为AI编码助手套上“缰绳”的工程化框架

1. 项目概述:为什么你的AI编码助手总是“犯傻”?如果你和我一样,已经深度使用过Cursor、Windsurf或者Claude Code这类AI编码助手,那你一定经历过这样的挫败时刻:你满怀期待地让它去修改一个复杂的函数,结果…...

Fast-GitHub:国内开发者必备的GitHub下载加速终极方案

Fast-GitHub:国内开发者必备的GitHub下载加速终极方案 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 对于身处国内的开…...