带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(7)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(7)

《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.7.索引生命周期管理(6) https://developer.aliyun.com/article/1228509


通过 Data tiers 使用 ILM

 

data tiers ( 数据层 )是具有相同数据角色的节点的集合

 

l Content tier ( 内容层 )节点处理诸如产品目录之类的内容的索引和查询负载。

l Hot tier ( 热层 ) 节点处理诸如日志或指标之类的时间序列数据的索引负载,并保存你最近,最常访问的数据。

l Warm tier ( 温层 )节点保存的时间序列数据访问频率较低,并且很少需要更新。

l Cold tier ( 冷层 )节点保存时间序列数据,这些数据偶尔会被访问,并且通常不会更新。

 

推荐冷热分离采用 data tiers 这种方式,节点可以通过如下配置方式配置:


# elasticsearch.yml 
# data_content, data_hot, data_warm, data_cold
# 配置该节点既属于内容层又属于热层
node.roles: ["data_hot", "data_content"]

1、创建生命周期策略

 

warm 阶段将 index 迁移至 warm 节点,cold 阶段禁用 migrate,将 index 分配给rack_id 为 one 或 two 的节点。

 

创建生命周期策略,在 index 创建 1 天后进入 hot 阶段,设置优先级为 100, 当 index 主分片大小超过 50gb 或者 index 文档数超过 500000000 或者 index 创建超过 2 天生成新的 index,warm 阶段将 index 迁移至 warm 节点,cold 阶段将 index 副本数设置为 1,禁用 migrate, 并将 index 迁移至属性 data 为 cold 的节点,当 hot ,warm,cold 阶段的动作都完成并且 index 创建达到 7 天,删除 index。


PUT _ilm/policy/logx_policy
{
  "policy": {
    "phases": {
      "hot": {
        "min_age": "1d",
        "actions": {
          "set_priority": {
            "priority": 100
          },
          "rollover": {
            "max_age": "2d",
            "max_docs": 500000000,
            "max_size": "50gb"
          }
        }
         },
      "warm": {
        "min_age": "1d",
        "actions": {
          "set_priority": {
             "priority": 50
          },
          "migrate" : {
          }
        }
      },
      "cold": {
        "min_age": "1d",
        "actions": {
          "set_priority": {
            "priority": 0
          },
          "allocate": {
            "number_of_replicas": 1,
            "include" : {
              "data": "cold"
            }
          }, 
          "migrate" : {
            "enabled": false
          }
        }
      }, 
      "delete": {
        "min_age": "7d",
        "actions": {
          "delete": {}
        }
      }
    }
  }
}


2、创建索引模板,将生命周期应用到 index

 

设置 shard 数为 2, 备份数 为 1, 生命周期策略为 logx_policy


PUT _index_template/logx-template
{
  "index_patterns" : ["logx-*"],
  "priority" : 1,
  "data_stream": { },
  "template": {
    "settings" : {
      "index" : {
        "number_of_shards" : "2",
    "number_of_replicas" : "1",
    "lifecycle.name": "logx_policy"
    }
    }
  }
}

3、创建 data stream


POST /logx-business/_doc/
{
  "@timestamp":"2021-04-13T11:04:05.000Z",
  "message":"Loginattemptfailed"
}
# OR 
PUT /_data_stream/logx-business

后续的数据读写均使用固定 index: logx-business


创作人简介

赵凯,平时喜欢阅读 elastic 官网,对 Elasticsearch 较为熟悉。 学习一门技术,官网永远是最好的学习文档。 在西安,我们也建立了自己的圈子,欢迎西安的小伙伴们一起交流,共同进步。

博客https://dr-kyle.github.io/

 

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
12月前
|
文件存储 索引
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(3)
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(3)
|
12月前
|
索引
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(6)
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(6)
|
12月前
|
索引
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(2)
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(2)
|
12月前
|
存储 索引
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(4)
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(4)
|
12月前
|
索引
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(5)
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(5)
|
12月前
|
API 索引
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(1)
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(1)
105 0
|
12月前
|
Cloud Native
带你读《Elastic Stack 实战手册》之5:——3.2.2.可观测性 (上)
带你读《Elastic Stack 实战手册》之5:——3.2.2.可观测性 (上)
109 0
|
12月前
|
机器学习/深度学习 消息中间件 数据采集
带你读《Elastic Stack 实战手册》之5:——3.2.2.可观测性 (下)
带你读《Elastic Stack 实战手册》之5:——3.2.2.可观测性 (下)
156 0
|
12月前
|
API 数据中心 索引
带你读《Elastic Stack 实战手册》之42:——3.5.1.跨集群操作(3)
带你读《Elastic Stack 实战手册》之42:——3.5.1.跨集群操作(3)
120 0
|
12月前
|
存储 人工智能 大数据
带你读《Elastic Stack 实战手册》之42:——3.5.1.跨集群操作(4)
带你读《Elastic Stack 实战手册》之42:——3.5.1.跨集群操作(4)