【发布时间】:2025-12-15 08:30:01
【问题描述】:
使用来自官方 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. 'wait-for-shard-history-leases' 是什么?在 ES 文档中找不到任何关于它的内容。
2.即使一个挂在“删除”阶段,为什么另一个索引会被这个阻塞?为什么不是所有超过 10 岁的索引都进入删除阶段?
【问题讨论】:
标签: elasticsearch