《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.7.索引生命周期管理(2) https://developer.aliyun.com/article/1228515
Force Merge
指定 index 合并后 segment 数量,在 hot 阶段使用时,必须包含 rollover ,merge 时会将index 设置为只读。
参数:
l max_num_segments
l segment 最大数量
l index_codec
l 压缩文件存储, default: LZ4
例如:warm 阶段将 index 的 segments 合并为 1。
PUT _ilm/policy/my_policy { "policy": { "phases": { "warm": { "actions": { "forcemerge" : { "max_num_segments": 1 } } } } } }
Read only
将 index 设置为只读。
例如:
PUT _ilm/policy/my_policy { "policy": { "phases": { "warm": { "actions": { "readonly" : { } } } } } }
Shrink
index 设置为只读,然后将 index 缩小为具有更少的的 shard, 缩小后的 index 名称为 shrink-
参数:
l number_of_shards
l 合并后的主分片数
例如:warm 阶段将 index 的 shard 数合并为 1 个。
PUT _ilm/policy/my_policy { "policy": { "phases": { "warm": { "actions": { "shrink" : { "number_of_shards": 1 } } } } } }
Freeze
最大程度减少 index 的内存占用。
例如:cold 阶段将 index freeze,释放内存。
PUT _ilm/policy/my_policy { "policy": { "phases": { "cold": { "actions": { "freeze" : { } } } } } }
Migrate
通过更新 index.routing.allocation.include._tier_preference 设置,将 index 移动到对应的数据层,如果指定了 allocate,会在迁移前先将副本数减少。如果在热阶段和冷阶段没有指定
allocate 分配选项,ILM 会自动注入迁移操作,如果要禁用可以将 enabled 设置为 false。
参数:
l enabled
l default: true, 控制 ILM 在此阶段是否自动迁移索引
例如:warm 阶段禁用迁移操作, 主动将 index 备份数设置为 1,并且将 index 迁移至属性rack_id 为 one 或者 two 的节点。
PUT _ilm/policy/my_policy { "policy": { "phases": { "warm": { "actions": { "migrate" : { "enabled": false }, "allocate": { "number_of_replicas": 1, "include" : { "rack_id": "one,two" } } } } } } }
《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.7.索引生命周期管理(4) https://developer.aliyun.com/article/1228512