我的索引有 ISL 策略。 它将索引状态移动到状态。在收缩分片的最后一个策略状态下,我预计旧索引将被删除,但我仍然看到旧索引。
GET http://localhost:9200/_cat/indices
HTTP/1.1 200 OK
content-type: text/plain; charset=UTF-8
green open businesslog-longterm-000001_shrunken m6nVneoYSRyoPxulpN6Hkg 2 1 725 0 815kb 407.5kb
green open businesslog-longterm-000001 3Ns6iCjuQJySHMC-o63atw 4 1 725 0 816.3kb 408.1kb
opensearch 收缩后是否应该删除旧索引?
测试集群策略如下:
PUT http://localhost:9200/_plugins/_ism/policies/businesslog-longterm-policy
Content-Type: application/json
{
"policy": {
"description": "BusinessLog LONG-TERM policy",
"default_state": "hot",
"states": [
{
"name": "hot",
"actions": [
{
"rollover": {
"min_doc_count": "200"
},
"retry": {
"count": 3,
"backoff": "exponential",
"delay": "1m"
}
},
{
"index_priority": {
"priority": 100
}
}
],
"transitions": [
{
"state_name": "warm",
"conditions": {
"min_rollover_age": "15m"
}
}
]
},
{
"name": "warm",
"actions": [
{
"force_merge": {
"max_num_segments": 1
},
"retry": {
"count": 3,
"backoff": "exponential",
"delay": "1m"
}
},
{
"index_priority": {
"priority": 50
}
}
],
"transitions": [
{
"state_name": "cold",
"conditions": {
"min_rollover_age": "10m"
}
}
]
},
{
"name": "cold",
"actions": [
{
"shrink": {
"num_new_shards": 2,
"target_index_name_template": {
"source": "{{ctx.index}}_shrunken",
"lang": "mustache"
},
"force_unsafe": true
}
},
{
"index_priority": {
"priority": 0
}
}
],
"transitions": [
]
}
],
"ism_template": {
"index_patterns": ["businesslog-longterm*"],
"priority": 100
}
}
}
不,收缩后删除 OpenSearch 索引不是必需的,但这取决于您的用例和具体上下文。让我们分解一下场景:
什么是 OpenSearch 中的索引收缩? 索引收缩是一个允许您减少索引中主分片数量以提高效率的过程。这通常在以下情况下完成:
索引变得越来越大,包含许多分片,并且您希望优化存储或提高查询性能。 您不再需要保留原始数量的主分片,因为索引不再主动增长或写入,但您仍然希望保留它作为历史数据。 OpenSearch 中的缩小过程涉及:
创建一个包含更少主分片的新索引。 将旧索引中的数据重新索引到新索引中。 删除旧索引(可选,取决于您是否想节省空间)。 收缩后是否应该删除索引? 收缩索引后,不必立即删除原始索引,除非:
您不再需要原始索引:如果您已将数据重新索引为更小、更高效的索引,并且不再需要旧索引,则可以将其删除以释放存储空间。 您想要优化磁盘使用:如果原始索引有许多未使用或碎片化的分片,则在收缩后删除旧索引将节省存储空间。 但是,如果您仍然需要原始索引用于参考、备份或其他目的,则可以保留它。请记住,它可能会占用大量存储空间,具体取决于重新索引的数据量以及原始索引中有多少分片。
注意事项: 备份:在删除原始索引之前,如果它包含重要数据或者收缩过程是迁移的一部分,请确保您有备份。 集群性能:收缩后,如果不再需要原来的索引,删除它可以释放资源,帮助提高集群性能。 快照:在删除索引之前拍摄索引快照是一个很好的做法,特别是当它包含重要或历史数据时