Elasticsearch生命周期管理那些事儿-overview

2024-06-17 03:48

本文主要是介绍Elasticsearch生命周期管理那些事儿-overview,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

ES原厂于7.4版本正式官宣支持ILM(Index lifecycle management,生命周期管理特性,x-pack免费特性),源码于7.0版本已经production-ready。(其实从6.6版本开始,声明周期管理已经作为beta特性开始合入源码)

声明周期管理特性可谓是姗姗来迟,随着ES从2.x被广泛应用,越来越多的骨灰级玩家只能在各自的业务平台上封装生命周期管理这一层。直到7.x,人们才看到官方对于生命周期管理的内置支持,真是等的有点漫长了。。

ES的声明周期管理特性大致有两种应用方式:

  1. 通过ES本身提供的API设置一定的policy来管理数据声明周期,可以管理ES集群数据以及备份数据(snapshot)
  2. 在kibana内简单配置,就可以管理以前我们不得不设置cronjob去删除index的工作
整体介绍

通过ES的ILM特性,使用者可以设置policy,这个policy可以应用到某个index活某些indices,从而自动的管理数据的保留周期,其触发actions有:

Rollover - 当现存的index达到一定的大小、文档数或者周期后,可以重定向这个index的alias到新的index中去写入
Shrink - 设置一定的规则来缩小一个index的主分片数目
Force merge - 按规则自动的触发index的segment合并,删除标记文档以及优化索引大小
Freeze - 按规则将一个index置为read-only或者降低内存使用
Delete - 按规则永久的remove掉一个index,包括它的数据以及元数据信息

通常,使用者可以将一个ILM policy与一个index template关联起来,这样这个policy就可以自动的应用到所有新建的indices上;也可以将某个policy手工应用到特定的index。

ILM特性大大简化了ES数据在hot-warm-cold架构下时序数据的常见管理工作:例如logs以及metrecs。

在一个index的生命周期中,它可能要经过这样4个阶段:

Hot - index频繁的被更新(update)或者访问(queried)
Warm - index已经不被更新,但是仍然被经常访问(queried)
Cold - index已经不被更新并且很少被访问;但是数据仍然有可能被用于搜索,并且可以容忍一定的延时
Delete - index按某些管理规约已经不再被访问,完全可以安全删除

例如,如果要将ATM机群中的metrics度量数据导入到ES中去,你可以定义这样一个policy:

当index文档数据达到50GB的时候(可能使用SSD写入),利用alias rollover到一个新的index中去
将这个老的index move到warm阶段(可能保存在SAS盘),标记为只读数据,shrink成只有1个主分片的index
7天之后,move这个index到cold阶段,保存到廉价硬件存储(可能是SATA盘)中去
30天之后,将这个index永久删除

注意:使用ILM特性的时候,ES集群中的的nodes最好都是同一个内核版本,虽然ILM支持mixed-version cluster,但可能无法保证某个特性按照预想的行为执行:例如,某个高版本node支持的action在某个低版本node上无法支持,从而爆errors。

这篇关于Elasticsearch生命周期管理那些事儿-overview的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1068401

相关文章

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

Java操作ElasticSearch的实例详解

《Java操作ElasticSearch的实例详解》Elasticsearch是一个分布式的搜索和分析引擎,广泛用于全文搜索、日志分析等场景,本文将介绍如何在Java应用中使用Elastics... 目录简介环境准备1. 安装 Elasticsearch2. 添加依赖连接 Elasticsearch1. 创

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

SpringBoot使用minio进行文件管理的流程步骤

《SpringBoot使用minio进行文件管理的流程步骤》MinIO是一个高性能的对象存储系统,兼容AmazonS3API,该软件设计用于处理非结构化数据,如图片、视频、日志文件以及备份数据等,本文... 目录一、拉取minio镜像二、创建配置文件和上传文件的目录三、启动容器四、浏览器登录 minio五、

IDEA中的Kafka管理神器详解

《IDEA中的Kafka管理神器详解》这款基于IDEA插件实现的Kafka管理工具,能够在本地IDE环境中直接运行,简化了设置流程,为开发者提供了更加紧密集成、高效且直观的Kafka操作体验... 目录免安装:IDEA中的Kafka管理神器!简介安装必要的插件创建 Kafka 连接第一步:创建连接第二步:选

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提