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

相关文章

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%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

RabbitMQ练习(AMQP 0-9-1 Overview)

1、What is AMQP 0-9-1 AMQP 0-9-1(高级消息队列协议)是一种网络协议,它允许遵从该协议的客户端(Publisher或者Consumer)应用程序与遵从该协议的消息中间件代理(Broker,如RabbitMQ)进行通信。 AMQP 0-9-1模型的核心概念包括消息发布者(producers/publisher)、消息(messages)、交换机(exchanges)、

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl

Sentinel 高可用流量管理框架

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应

NGINX轻松管理10万长连接 --- 基于2GB内存的CentOS 6.5 x86-64

转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=190176&id=4234854 一 前言 当管理大量连接时,特别是只有少量活跃连接,NGINX有比较好的CPU和RAM利用率,如今是多终端保持在线的时代,更能让NGINX发挥这个优点。本文做一个简单测试,NGINX在一个普通PC虚拟机上维护100k的HTTP