elasticsearch - Elasticsearch 的索引生命周期管理随机删除索引
问题描述
使用来自官方 dockerhub (7.7.1) 的一个节点 ES。
我创建了一个基本的删除策略:
"test_policy": {
"version": 1,
"modified_date": "2020-07-13T11:38:15.283Z",
"policy": {
"phases": {
"delete": {
"min_age": "10s",
"actions": {
"delete": {}
}
}
}
}
}
将上述策略添加到模板中,以此为例: https ://www.elastic.co/guide/en/elasticsearch/reference/current/set-up-lifecycle-policy.html (注意:我没有使用翻转)
PUT _template/my_template
{
"index_patterns": ["test-*"],
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1,
"index.lifecycle.name": "test_policy"
}
}
然后我输入两个索引:test-2017-11-12
和test-2222
发生的事情(根据http://localhost:9200/test-*/_ilm/explain
)是即使在几分钟后,两个索引阶段都是“新的”。然后在 4-5 分钟后,一个索引切换到“删除”阶段并卡在那里。另一个仍处于“新”阶段。
"test-2017-11-12": {
"index": "test-2017-11-12",
"managed": true,
"policy": "test_policy",
"lifecycle_date_millis": 1594640489746,
"age": "13.69m",
"phase": "delete",
"phase_time_millis": 1594640734626,
"action": "delete",
"action_time_millis": 1594640734626,
"step": "wait-for-shard-history-leases",
"step_time_millis": 1594640734626,
"phase_execution": {
"policy": "test_policy",
"phase_definition": {
"min_age": "10s",
"actions": {
"delete": {}
}
},
"version": 1,
"modified_date_in_millis": 1594640295283
}
}
编辑:终于在17分钟后!!!索引被删除,现在另一个卡在同一阶段
1.这是什么'等待分片历史租赁'的东西?在 ES 文档中找不到任何关于它的信息。
2.即使一个挂在“删除”阶段,为什么另一个索引会被这个阻塞?为什么不是所有超过 10 岁的索引都进入删除阶段?
解决方案
ILP 默认每 10 分钟执行一次。由于集群的配置设置,请参阅https://www.elastic.co/guide/en/elasticsearch/reference/7.10/ilm-settings.html#_cluster_level_settings
在这里进行简短讨论 https://discuss.elastic.co/t/ilm-not-deleting-indices/234437
推荐阅读
- java - 如何使用 Java 交换字符串的第一个元音和最后一个元音?
- java - Resilience4J Retry 的预期行为是什么?
- r - 如何根据R中的条件切换两列中的值?
- go - 我不能用 colly go 抓取福布斯顶级亿万富翁网站
- java - 在java8中编译我的项目然后在java 17上运行它是否可行
- hybris - 同步完全忽略限制做批准的产品
- spring-boot - 打包 War 文件时排除依赖关系
- background - 如何将我的场景放置在仙女座星系的背景中
- android - Agora Video Calling Android 收到错误代码 101
- android - 更新 Firebase Firestore 中的值