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

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

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


通过 alias 使用 ILM

 

1、创建生命周期策略

 

warm 阶段将 index 分配给节点属性 data 为 warm 的节点, cold 阶段将 index 分配给节点属性 data 为 cold 的节点。

 

节点属性可以通过 elasticsearch.yml 进行配置或环境变量设置。


# 启动命令
bin/elasticsearch -Enode.attr.data=warm
# elasticsearch.yml
# node.attr.xxx: xxx
# 建议使用 node.roles 进行配置, 可以参考 通过 data tiers 使用 ILM 这一章节
# node.attr 后续版本可能不再使用
node.attr.data: warm

创建生命周期策略,在 index 创建 1 天后进入 hot 阶段,设置优先级为 100, 当 index 主分片大小超过 50gb 或者 index 文档数超过 500000000 或者 index 创建超过 2 天生成新的 index

 

warm 阶段将 index 迁移至属性 data 为 warm 的节点

 

cold 阶段将 index 副本数设置为 1 并将 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
          },
          "allocate": {
            "include": {
              "data" : "warm"
            }
          }
        }
      },
       "cold": {
        "min_age": "1d",
        "actions": {
          "set_priority": {
            "priority": 0
          },
          "allocate": {
            "number_of_replicas": 1,
            "include" : {
              "data": "cold"
            }
          }
        }
      }, 
      "delete": {
        "min_age": "7d",
        "actions": {
          "delete": {}
        }
           }
    }
  }
}

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

 

设置 shard 数为 2, 备份数 为 1, 生命周期策略为 logx_policy,滚动别名为 logx

 

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

3、创建第一个 index,以下两种形式任选一种即可, index 格式必须满足该正则 ^.*-\d+$ ,example:logs-000001


PUT logx-000001
{
  "aliases": {
"logx": {
   "is_write_index": true
    }
  }
}
# OR 带创建日期的 index
# PUT /<logx-{now/d}-1> with URI encoding:
PUT /%3Clogx-%7Bnow%2Fd%7D-1%3E 
{
  "aliases": {
    "logx": {
      "is_write_index": true
    }
  }
} 


后续的数据读写均使用固定别名 logx

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

相关实践学习
使用阿里云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.索引生命周期管理(4)
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(4)
|
12月前
|
索引
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(2)
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(2)
|
12月前
|
API 索引
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(1)
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(1)
105 0
|
12月前
|
索引
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(7)
带你读《Elastic Stack 实战手册》之48:——3.5.7.索引生命周期管理(7)
|
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月前
|
存储 自然语言处理 网络协议
带你读《Elastic Stack 实战手册》之42:——3.5.1.跨集群操作(2)
带你读《Elastic Stack 实战手册》之42:——3.5.1.跨集群操作(2)
|
12月前
|
运维 网络协议 API
带你读《Elastic Stack 实战手册》之42:——3.5.1.跨集群操作(1)
带你读《Elastic Stack 实战手册》之42:——3.5.1.跨集群操作(1)
118 0