【ElasticSearch】更新es索引生命周期策略,策略何时对索引生效

大家好,我是好学的小师弟,今天和大家讨论下更新es索引生命周期策略后,策略何时对索引生效

结论:

若当前索引已应用策略A(旧),更新完策略A后,新的策略A会立即对原来的已经应用该策略的索引生效;若当前索引符合新策略A的生命周期变化条件,则会自动进入下一阶段(hot-warm-cold-delete)

举例:

比方说原来策略是10g就滚动索引,你现在索引大小为8G,不符合滚动条件,但是你更新的策略为4G,那么更新策略完成后,等待一段时间(10分钟左右),索引即可完成滚动,因为8G符合4g的滚动条件

具体细节:

1.几个关键字段

以下字段value均是时间戳,通过观察三张图里的这些时间戳,即可得出结论:更新后的策略对原来已经应用该策略的索引,立即生效

lifecycle_date_millis: 指的是索引创建的时间戳,这里的索引指的是一开始创建这个索引的时间,或者是滚动后新索引的创建时间

phase_time_millis: 索引进入当前生命周期阶段的时间戳,以毫秒为单位

action: 当前生命周期阶段执行的操作,可能的值包括:complete、delete、rollover。

action_time_millis: 执行当前操作的时间戳,跟action字段对应

step_time_millis: 执行当前子步骤的时间戳,跟step字段对应

modified_date_in_millis: 索引生命周期策略的修改时间戳

2.更新完索引生命周期策略后,新策略已经对索引生效,索引目前处于check policy状态

javascript 复制代码
{
	"indices": {
		"test_2023.03.21-000001": {
			"index": "test_2023.03.21-000001",
			"managed": true,
			"policy": "test",
			"lifecycle_date_millis": 1679394264357, //2023-03-21 18:24:24
			"age": "203.41d",
			"phase": "hot",
			"phase_time_millis": 1693479366940, //2023-08-31 18:56:06
			"action": "rollover",
			"action_time_millis": 1679394338025, //2023-03-21 18:25:38
			"step": "check-rollover-ready",
			"step_time_millis": 1693479366940, //2023-08-31 18:56:06
			"is_auto_retryable_error": true,
			"failed_step_retry_count": 2,
			"phase_execution": {
				"policy": "test",
				"phase_definition": {
					"min_age": "3ms",
					"actions": {
						"rollover": {
							"max_size": "4831838208b"
						},
						"set_priority": {
							"priority": 100
						}
					}
				},
				"version": 5,
				"modified_date_in_millis": 1696969009629 //2023-10-11 04:16:49
			}
		}
	}
}

3.更新完索引生命周期策略后,新策略已经对索引生效,索引符合新的策略的滚动条件,滚动中

javascript 复制代码
{
	"indices": {
		"test_2023.03.21-000001": {
			"index": "test_2023.03.21-000001",
			"managed": true,
			"policy": "test",
			"lifecycle_date_millis": 1679394264357, //2023-03-21 18:24:24
			"age": "203.41d",
			"phase": "hot",
			"phase_time_millis": 1693479366940, //2023-08-31 18:56:06
			"action": "rollover",
			"action_time_millis": 1679394338025, //2023-03-21 18:25:38
			"step": "attempt-rollover", //这里已经开始尝试滚动
			"step_time_millis": 1696969116221, //2023-10-11 04:18:36
			"phase_execution": {
				"policy": "test",
				"phase_definition": {
					"min_age": "3ms",
					"actions": {
						"rollover": {
							"max_size": "4831838208b"   //这里已经适配了最新的策略4.5G
						},
						"set_priority": {
							"priority": 100
						}
					}
				},
				"version": 5,
				"modified_date_in_millis": 1696969009629 //2023-10-11 04:16:49
			}
		}
	}
}

4.下面的是策略生效,索引滚动完毕,已经进入warm阶段

javascript 复制代码
{
	"indices": {
		"test_2023.03.21-000001": {
			"index": "test_2023.03.21-000001",
			"managed": true,
			"policy": "test",
			"lifecycle_date_millis": 1696969219587, //2023-10-11 04:20:19
			"age": "13.12h",
			"phase": "warm",
			"phase_time_millis": 1696969755909, //2023-10-11 04:29:15
			"action": "complete",
			"action_time_millis": 1696972068230, //2023-10-11 05:07:48
			"step": "complete",
			"step_time_millis": 1696972068230, //2023-10-11 05:07:48
			"phase_execution": {
				"policy": "test",
				"phase_definition": {
					"min_age": "5ms",
					"actions": {
						"allocate": {
							"number_of_replicas": 0,
							"include": {},
							"exclude": {
								"box_type": "cold,hot"
							},
							"require": {
								"box_type": "warm"
							}
						},
						"forcemerge": {
							"max_num_segments": 1
						},
						"set_priority": {
							"priority": 50
						},
						"shrink": {
							"number_of_shards": 1
						}
					}
				},
				"version": 5,
				"modified_date_in_millis": 1696969009629 //2023-10-11 04:16:49
			}
		}
	}
}

新人创作不易,觉得不错的看官,点个赞吧,么么哒!!!

转载注明出处!

相关推荐
九河云3 小时前
华为云 ECS 弹性伸缩技术:应对业务峰值的算力动态调度策略
大数据·服务器·人工智能·物联网·华为云
qianshuaiblog.cn4 小时前
Kubernetes安装部署
云原生·容器·kubernetes
夜月yeyue4 小时前
Linux内高端内存
linux·运维·单片机·嵌入式硬件·ci/cd·硬件架构
AI营销资讯站4 小时前
AI营销内容生产:哪些平台支持全球多语言内容同步生产?
大数据·人工智能
云宏信息4 小时前
运维效率提升实战:如何用轻量化云管平台统一纳管与自动化日常资源操作
运维·服务器·网络·架构·云计算
XINERTEL4 小时前
自动化测试的「千里眼」:当RTSM远程控制遇上自动化,测试效率直接拉满
运维·功能测试·自动化·以太网测试
hour_go4 小时前
微服务架构的故障演练数字化:方法解析与实践优势
微服务·云原生·架构
杨云龙UP5 小时前
MySQL 自动备份与覆盖恢复实战:一套脚本搞定全库/按库备份恢复
linux·运维·数据库·sql·mysql
桃花键神5 小时前
openFuyao在AI推理与大数据场景中的加速方案:技术特性与实践探索
大数据·人工智能
sjg200104145 小时前
Deepin 20.9 误装gcc-8-base_8.4.0-1ubuntu1~16.04.1_amd64 后卸载
linux·运维·服务器