es索引生命周期维护.md

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

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