【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
			}
		}
	}
}

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

转载注明出处!

相关推荐
WeeJot嵌入式9 分钟前
大数据治理:确保数据的可持续性和价值
大数据
。puppy15 分钟前
HCIP--3实验- 链路聚合,VLAN间通讯,Super VLAN,MSTP,VRRPip配置,OSPF(静态路由,环回,缺省,空接口),NAT
运维·服务器
颇有几分姿色24 分钟前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
晨欣24 分钟前
Elasticsearch和Lucene之间是什么关系?(ChatGPT回答)
elasticsearch·chatgpt·lucene
光芒再现dev41 分钟前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
AndyFrank1 小时前
mac crontab 不能使用问题简记
linux·运维·macos
ZHOU西口1 小时前
微服务实战系列之玩转Docker(十八)
分布式·docker·云原生·架构·数据安全·etcd·rbac
zmd-zk1 小时前
kafka+zookeeper的搭建
大数据·分布式·zookeeper·中间件·kafka
激流丶1 小时前
【Kafka 实战】如何解决Kafka Topic数量过多带来的性能问题?
java·大数据·kafka·topic
测试界的酸菜鱼1 小时前
Python 大数据展示屏实例
大数据·开发语言·python