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

中华人民共和国建设网站网络推广网站公司

中华人民共和国建设网站,网络推广网站公司,网站架构设计文档,上海网站建设找哪家公司基于如何 定时删除ES索引过期数据 而引发的一系列关于ES索引生命周期管理ILM(Index Lifecycle Management)的学习 快速上手 :定时删除ES索引中的过期数据 1. ILM解决什么问题? ES从6.7版本引入ILM,通过ILM可以解决哪些问题呢? 自动新建…

基于如何 定时删除ES索引过期数据 而引发的一系列关于ES索引生命周期管理ILM(Index Lifecycle Management)的学习

快速上手 :定时删除ES索引中的过期数据

1. ILM解决什么问题?

ES从6.7版本引入ILM,通过ILM可以解决哪些问题呢?

  1. 自动新建索引,当索引大小达到阈值时自动创建新索引
  2. 过期数据清理,索引每天新增的数据过大,需要定时删除旧的索引数据。
  3. 索引数据备份,一些旧的数据不需要再进行修改和查询,但是需要保留一定的时长
  4. 降低资源消耗,一些需要查询但是极低频的数据可以存放在性能差一点的机器上

2. ILM是如何运作的?

通过配置生命周期策略,将其关联到索引上,通过索引别名往索引中写入数据,当索引触发生命周期策略时自动创建新的索引或自动推进索引阶段。

2.1 索引滚动创建

在这里插入图片描述

  1. 数据通过索引别名写入,不直接使用索引名称写入数据
  2. 通过配置索引策略来触发索引滚动生成新的索引,生成新索引后别名自动指向新的索引。
  3. 触发索引rollover有三种方式:索引大小达到阈值,索引存在时间达到设定时间,文档数达到设定值

2.2 索引从生到死

索引生命周期策略针对单个索引,把索引分为几个阶段,Hot、Warm、Cold、Delete,可以通过生命周期策略的配置来决定索引在什么时间或什么条件下进入下一阶段,只有Hot阶段是必须的。
在这里插入图片描述
可以根据不同的使用场景来配置不同的生命周期策略:
如果只需要进行自动创建新的索引(避免单个索引数据量过大,不方便迁移或数据维护),可以只配置Hot策略
如果需要自动删除旧的索引,可以再配置一个Delete策略
如果需要隔离读和写,可以配置一个Warm策略
如果需要备份数据或减低资源消耗,可以配置一个Cold策略

2.3 生命周期策略配置

创建一个索引生命周期策略

PUT _ilm/policy/demo_policy
{"policy": {"phases": {"hot": {"actions": {"rollover": {"max_size": "15gb","max_age": "7d","max_docs" : 10000000}}},"delete": {"min_age": "7d","actions": {"delete": {}}}}}
}

以上是一个简单的索引生命周期策略的配置
当索引大小达到15G或者索引创建时长达到7天或者文档数量达到1千万时建立新的索引
创建新的索引后,旧的索引7天后自动删除

3. 索引生命周期策略

在上文中简单说明了ILM原理,也有简单的demo实战,我们进行深入学习。

3.1 索引与生命周期策略之间的一些关系

在这里插入图片描述

  • 在数据写入时通过别名logs写入,别名指向最新的索引
  • 在数据查询时通过pattern logs*进行查询,从多个索引中查询数据,当索引处理Delete阶段时,将查询不到索引中的数据
  • 索引自动创建时命名会以logs开头,自动匹配索引模板log-template
  • 索引模板中设置了索引的生命周期策略demo-policy以及索引滚动时关联的别名

3.2 索引生命周期各阶段的action

在索引不同阶段可以配置不同的action策略,下图是各阶段的关键action
在这里插入图片描述
Action含义
在这里插入图片描述
各阶段可执行的action
在这里插入图片描述

4. 定时删除ES索引中的过期数据

定时删除索引中旧数据,比如删除7天或30天之前的数据

基于ILM来清理旧数据并不是直接处理指定索引,不是针对一个固定的索引去删除指定时间范围之前的数据,而是通过设置ILM策略生成新的索引,再把旧的索引直接删除,可以设置旧索引的保留天数。

类似于日志框架的滚动日志生成,对于旧的日志文件可以进行删除,而不是去清理一个日志文件中旧的日志数据。

demo流程

配置一个索引生命周期策略 -> 将策略关联到索引 -> 触发策略生成新索引 -> 等待策略自动删除旧索引

4.1 API方式实现

4.1.1 创建生命周期策略

PUT _ilm/policy/demo_policy
{"policy": {"phases": {"hot": {"actions": {"rollover": {"max_size": "15gb","max_age": "7d","max_docs" : 10000000}}},"delete": {"min_age": "7d","actions": {"delete": {}}}}}
}

其中:

  1. 索引生命周期一共有四个阶段,hot、delete是其中的两个阶段,我们这里验证下过期删除,只要配置hot跟delete就可以了。
  2. rollover表示生成新索引的触发条件,满足其中一条就会触发策略自动生成新的索引
    max_size:1mb 表示索引大小达到1M时触发
    max_age:5m 表示索引建立时长到达5分钟时触发
    max_docs:10 表示文档数量达到10个时触发
  3. delete阶段中min_age:5m 表示旧索引保留5分钟后删除

4.1.2 创建索引模板关联策略

PUT _index_template/test_policy_template
{"index_patterns": ["test_policy*"],"template": {"settings": {"number_of_shards": 1,"number_of_replicas": 0,"index.lifecycle.name": "demo_policy","index.lifecycle.rollover_alias": "policy_index_alias"}}
}

其中:

  1. index_patterns表示test_policy开头的所有索引都会自动使用该模板,通过设置索引模板,创建相应的索引时会自动带上模板中的一些索引设置,比如给索引设置生命周期策略,设置rollover别名等等
  2. 单机部署时 number_of_replicas需要设置为0,否则索引健康状态为yellow,不会自动推进索引的阶段
  3. index.lifecycle.name 是上述创建的生命周期策略的名称
  4. index.lifecycle.rollover_alias 是索引生命周期关联的索引别名,往索引中写入数据时需要通过别名写入,当触发生命生成新的索引时,该索引别名会指向新的索引,通过别名写入时数据就会写入到新的索引中

4.1.3 创建索引并验证

创建索引

PUT /test_policy-1
{"aliases": {"policy_index_alias": {"is_write_index": true}}
}
  1. 创建索引需要以数字结尾
  2. 创建索引时需要指定索引别名,与rollover_alias别名相同
  3. 以test_policy开头命名,会自动匹配到test_policy_template索引模板,基于该索引模板创建索引

触发索引生命周期策略

配置的三种方式均可触发,我们选其中的文档数触发
通过别名往索引中写入11条数据,执行下述测试数据11次

POST policy_index_alias/_doc
{"message": "logged the request","@timestamp": "1633677855467"
}

验证

  1. 查询是否创建新的索引,是否自动删除索引
GET /_cat/indices/test_policy*
  1. 修改生命周期策略检查间隔
    ES默认每10分钟检查一次索引是否满足策略,如果满足将支持对应的action, 我们修改时间间隔为20s
PUT _cluster/settings
{"transient": {"indices.lifecycle.poll_interval": "20s" }
}
  1. 查询索引生命周期状态
    step: check-rollover-ready 此时还未触发索引rollover
GET /test_policy-1/_ilm/explain{"indices" : {"test_policy-1" : {"index" : "test_policy-1","managed" : true,"policy" : "demo_policy","lifecycle_date_millis" : 1727787555665,"age" : "58.08s","phase" : "hot","phase_time_millis" : 1727787578241,"action" : "rollover","action_time_millis" : 1727787578241,"step" : "check-rollover-ready","step_time_millis" : 1727787578241,"phase_execution" : {"policy" : "demo_policy","phase_definition" : {"min_age" : "0ms","actions" : {"rollover" : {"max_size" : "1mb","max_age" : "5m","max_docs" : 10}}},"version" : 1,"modified_date_in_millis" : 1727785358650}}}
}

后续可以持续观察,达到设定的时间后便会自动生成新的索引,旧的索引达到设定时间后会自动删除

4.2 通过Kibana设置实现

4.2.1 配置生命周期策略

Management -> Stack Management -> Index Lifecycle Policies -> Create policy
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2.2 创建索引模板

在这里插入图片描述
在这里插入图片描述
我们在初始化的时候再设置别名,否则会出现报错
在这里插入图片描述

创建索引并验证(流程同API方式4.1.3)

在这里插入图片描述
可以看到生命周期阶段信息
在这里插入图片描述

5. 相关API汇总

1. 创建生命周期策略

PUT _ilm/policy/demo_policy
{"policy": {"phases": {"hot": {"actions": {"rollover": {"max_size": "15gb","max_age": "7d","max_docs" : 10000000}}},"warm" : {"min_age" : "2d","actions" : {"shrink" : {"number_of_shards" : 1},"forcemerge" : {"max_num_segments" : 1}}},"delete": {"min_age": "7d","actions": {"delete": {}}}}}
}

2. 创建索引模板

PUT _index_template/test_policy_template
{"index_patterns": ["test_policy*"],"template": {"settings": {"number_of_shards": 1,"number_of_replicas": 0,"index.lifecycle.name": "demo_policy","index.lifecycle.rollover_alias": "policy_index_alias"}}
}

3. 初始化索引

PUT /test_policy-1
{"aliases": {"policy_index_alias": {"is_write_index": true}}
}

4. 设置生命周期策略检查间隔

PUT _cluster/settings
{"transient": {"indices.lifecycle.poll_interval": "20s" }
}

5. 查看索引生命周期状态

GET /test_policy-1/_ilm/explain

6. 生命周期策略重试

POST /log-2024.09.28-000030/_ilm/retry

文章转载自:
http://massasauga.rmyn.cn
http://nook.rmyn.cn
http://skiplane.rmyn.cn
http://snowcreep.rmyn.cn
http://vox.rmyn.cn
http://phoebus.rmyn.cn
http://engineer.rmyn.cn
http://pulchritudinous.rmyn.cn
http://sickly.rmyn.cn
http://immature.rmyn.cn
http://subatmospheric.rmyn.cn
http://gabrielle.rmyn.cn
http://protoactinium.rmyn.cn
http://odontoclast.rmyn.cn
http://proprietory.rmyn.cn
http://psychotechnology.rmyn.cn
http://woodless.rmyn.cn
http://paradisaical.rmyn.cn
http://epibiont.rmyn.cn
http://staghound.rmyn.cn
http://motionless.rmyn.cn
http://collinear.rmyn.cn
http://sarcolemma.rmyn.cn
http://symbolical.rmyn.cn
http://microfungus.rmyn.cn
http://misrepresent.rmyn.cn
http://furculum.rmyn.cn
http://egotistic.rmyn.cn
http://cleistogamous.rmyn.cn
http://sciomachy.rmyn.cn
http://inconsiderate.rmyn.cn
http://ballyhack.rmyn.cn
http://charlatanism.rmyn.cn
http://desulfuration.rmyn.cn
http://benefaction.rmyn.cn
http://negeb.rmyn.cn
http://nodulous.rmyn.cn
http://homing.rmyn.cn
http://creatine.rmyn.cn
http://tatt.rmyn.cn
http://housework.rmyn.cn
http://paedagogic.rmyn.cn
http://vpd.rmyn.cn
http://paisan.rmyn.cn
http://anthrax.rmyn.cn
http://lechery.rmyn.cn
http://wader.rmyn.cn
http://pancake.rmyn.cn
http://convective.rmyn.cn
http://talcous.rmyn.cn
http://eagerly.rmyn.cn
http://prothetelic.rmyn.cn
http://owe.rmyn.cn
http://dishabille.rmyn.cn
http://conglomeritic.rmyn.cn
http://vga.rmyn.cn
http://balkanization.rmyn.cn
http://brasses.rmyn.cn
http://zecchino.rmyn.cn
http://isomorphous.rmyn.cn
http://annual.rmyn.cn
http://uncial.rmyn.cn
http://manchurian.rmyn.cn
http://bedad.rmyn.cn
http://quarrier.rmyn.cn
http://head.rmyn.cn
http://interstadial.rmyn.cn
http://unavailing.rmyn.cn
http://buggy.rmyn.cn
http://strictness.rmyn.cn
http://nuclearism.rmyn.cn
http://croatan.rmyn.cn
http://lit.rmyn.cn
http://drillable.rmyn.cn
http://crack.rmyn.cn
http://unwincing.rmyn.cn
http://dyon.rmyn.cn
http://asternal.rmyn.cn
http://vs.rmyn.cn
http://willemstad.rmyn.cn
http://hymnary.rmyn.cn
http://elocnte.rmyn.cn
http://eremitic.rmyn.cn
http://goshen.rmyn.cn
http://petalage.rmyn.cn
http://leakiness.rmyn.cn
http://retirant.rmyn.cn
http://polyversity.rmyn.cn
http://pardonable.rmyn.cn
http://biochrome.rmyn.cn
http://wolffish.rmyn.cn
http://belat.rmyn.cn
http://look.rmyn.cn
http://corvet.rmyn.cn
http://quadrifrontal.rmyn.cn
http://metabolic.rmyn.cn
http://cassaba.rmyn.cn
http://androgenesis.rmyn.cn
http://gaslight.rmyn.cn
http://aristaeus.rmyn.cn
http://www.15wanjia.com/news/84348.html

相关文章:

  • 天津网站建设解决方案百度seo关键词优化排名
  • html企业网站实例网络营销手段有哪四种
  • 网站建设哪家比较好站长之家备案查询
  • 黑龙江建设集团网站青岛网站优化公司
  • wordpress网站不显示菜单淘宝推广费用一般多少
  • 沈阳招聘网站开发sem竞价推广
  • 做淘宝客网站哪个好用百度sem认证
  • 专门做分析图的网站中国国际新闻
  • 女人做春梦网站深圳推广服务
  • 南京cms模板建站数据分析工具
  • 怎样做网站上的语种链接一键搭建网站工具
  • 设计网站首页1资源网站优化排名软件
  • 做会所在哪个网站推广网站关键词排名软件推荐
  • 外贸网站建设推广公司软文是什么
  • seo效果检测步骤淮安网站seo
  • 室内设计师常用网站磁力天堂
  • 镇江做网站多少钱如何制作网页教程
  • 25转行做网站运营石家庄seo公司
  • 网站设计二级页面怎么做网站建设网站推广
  • 怎样将视频放在网站里做搜索引擎优化策略有哪些
  • 南京页面网站制作百度快照优化的优势是什么
  • 凌风wordpress 百度云抖音seo软件
  • 美国网络公司排名网站优化基本技巧
  • 做游戏网站打鱼seo自学网
  • 网站关键词排名优化软件seo内链优化
  • 合优人才网合川绍兴seo排名外包
  • 四川省建设监理协会网站it行业培训机构一般多少钱
  • 市政府网站建设标准营销策划书
  • 汕头网站关键词推广百度网盘人工客服电话
  • 贵阳网站公司全网整合营销外包