文章目录
keyword text
hot-warm-cold架构将索引数据切分成hot/warm/cold的索引。hot索引
负责最新数据的读写,可使用内存存储;warm索引
负责较旧数据的读取,可使用内存或SSD存储;cold索引
很少被读取,可使用大容量磁盘存储。随着时间的推移,数据不断从hot索引->warm索引->cold索引迁移。针对不同阶段的索引我们还可以调整索引的主分片数,副本数,单分片的segment数等等,更好的利用机器资源。
索引生命周期管理(Index Lifecycle Management ,简称ILM)
作者:Monica2333
链接:https://juejin.im/post/6844904131262431246
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| PUT _ilm/policy/my_policy { "policy": { "phases": { "hot": { "actions": { "rollover": { //rollover前距离索引的创建时间最大为7天 "max_age": "7d", //rollover前索引的最大大小不超过50G "max_size": "50G", //rollover前索引的最大文档数不超过1个(测试用) "max_docs": 1, } } }, "warm": { //rollover之后进入warm阶段的时间不小于30天 "min_age": "30d", "actions": { "forcemerge": { //强制分片merge到segment为1 "max_num_segments": 1 }, "shrink": { //收缩分片数为1 "number_of_shards": 1 }, "allocate": { //副本数为2 "number_of_replicas": 2 } } }, "cold": { //rollover之后进入cold阶段的时间不小于60天 "min_age": "60d", "actions": { "allocate": { "require": { //分配到cold 节点,ES可根据机器资源配置不同类型的节点 "type": "cold" } } } }, "delete": { //rollover之后进入cold阶段的时间不小于60天 "min_age": "90d", "actions": { "delete": {} } } } } }
作者:Monica2333 链接:https://juejin.im/post/6844904131262431246 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
|