文章目录
        
            
        
    
    
    
    
                  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
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
| 12
 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
 来源:掘金
 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 
 |