概要
- ElasticSearch中的索引生命周期管理,也就是ilm(Manage the index lifecycle),是指定了索引在不同周期下的處理策略。
- ilm 的對象是索引而不是索引中的數(shù)據(jù)。
- ilm 包括四個階段:hot 、warm、cold和delete。
- hot、warm和cold表示索引的使用情況,delete可以指定索引完成rollover后的舊索引的刪除條件。
- hot中常用策略為 rollover, 滿足指定條件后創(chuàng)建新的索引。
- delete中常用屬性為min_age,也就是索引完成rollover后的刪除策略。已經有可以提供相同功能的索引,就索引可以刪除。
- 索引生命周期中的delete不能刪除索引,只能刪除滾動之前的舊索引。
使用命令
- 查詢所有策略
GET _ilm/policy
- 查詢單個策略
GET _ilm/policy/<policy-name>
- 查詢索引的策略執(zhí)行情況
GET <index-name>/_ilm/explain
- 查詢索引的創(chuàng)建時間
GET /_cat/indices/<index-name>?format=json&h=index,creation.date
DELETE策略執(zhí)行分析
- 先查詢索引的創(chuàng)建時間。
- 命令為:
GET /_cat/indices/<index-name>?format=json&h=index,creation.date`
- 響應值為:
[
{
"index" : "<index-name>",
"creation.date" : "1688537411543" // 創(chuàng)建日期
}
]
- 在查詢索引的中生命周期的執(zhí)行情況
- 命令為:
GET <index-name>/_ilm/explain
- 響應值為:
{
"indices" : {
"<index-name>" : {
...
"policy" : "<policy-name>", //策略名稱
"lifecycle_date_millis" : 1691129648787, //生命周期時間,這里是進入delete計算階段時間
"age" : "3.87d", //年齡,存活時間,這個是創(chuàng)建時間到當前時間的時間間隔,一般需要減去hot中rollover設定的min-age。
...
},
...
}
}
}
- 生命周期策略的具體信息
- 命令為:
GET _ilm/policy/<policy-name>
- 響應值為:
{
"<policy-name>" : {
...
"policy" : {
"phases" : { //階段
"hot" : {
"min_age" : "0ms", // 索引建立后就進入hot階段
"actions" : {
"rollover" : { //創(chuàng)建新索引
"max_primary_shard_size" : "50gb", // 當分片容積大于50Gb后執(zhí)行
"max_age" : "30d" // 分片的年齡達到30天
}
}
},
"delete" : {
"min_age" : "30d", // 老索引超過rollover后的最小存活時間
"actions" : { //執(zhí)行策略為刪除
"delete" : {
"delete_searchable_snapshot" : true //刪除相關的快照
}
}
}
},
...
},
"in_use_by" : {
"indices" : [...],//被設置的索引
...
}
}
}
- 所以整個流程為索引超過30天后,會自動rollover出個新的索引,之后按照delete策略刪除舊的索引。所以生命周期不會自動刪除索引,索引的刪除需要手動執(zhí)行。
文章來源地址http://www.zghlxwxcb.cn/news/detail-640311.html
文章來源:http://www.zghlxwxcb.cn/news/detail-640311.html
到了這里,關于ElasticSearch索引生命周期管理--DELETE的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!