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

简介: 带你读《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/

 

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
网络协议 网络架构
OSPF中的Not-So-Stubby Area (NSSA):概念、配置与应用
OSPF中的Not-So-Stubby Area (NSSA):概念、配置与应用
365 3
|
存储 缓存 前端开发
理清 nginx 中的 location 配置
理清 nginx 中的 location 配置
|
8月前
|
人工智能 关系型数据库 分布式数据库
让数据与AI贴得更近,阿里云瑶池数据库系列产品焕新升级
4月9日阿里云AI势能大会上,阿里云瑶池数据库发布重磅新品及一系列产品能力升级。「推理加速服务」Tair KVCache全新上线,实现KVCache动态分层存储,显著提高内存资源利用率,为大模型推理降本提速。
|
11月前
|
存储 数据挖掘 数据处理
Pandas高级数据处理:性能优化技巧
Pandas 是 Python 数据分析的强大工具,但在处理大规模数据集时可能遇到性能瓶颈。本文介绍常见性能问题及优化方法,包括数据加载(分块读取、选择必要列、指定数据类型)、筛选过滤(避免链式索引、优化布尔索引)、聚合分组(使用 `transform`、减少列)等,并提供代码案例。同时,针对内存溢出、数据类型不匹配和索引冲突等常见报错,给出解决方案。通过这些优化措施,提升 Pandas 数据处理的效率和稳定性。
624 14
|
云安全 存储 弹性计算
|
Linux 程序员 开发工具
最强文本编辑器 VIM 获取与安装
最强文本编辑器 VIM 获取与安装
248 0
|
机器学习/深度学习 人工智能 自动驾驶
实战案例分析:AI在特定行业的深度应用
【7月更文第20天】随着人工智能技术的飞速发展,其在各行各业的应用日益广泛且深入,不仅推动了产业创新,也极大地提升了服务效率与质量。本文将聚焦于金融、教育、和交通三大领域,通过具体案例与技术解析,展现AI如何在这三个行业中发挥着革命性的作用。
2264 0
|
安全 网络协议 Shell
永恒之蓝(MS17-010)漏洞利用
永恒之蓝(MS17-010)漏洞利用
1082 1
|
人工智能 安全 Linux
使用开源GenAI时需要注意的10个问题
使用开源GenAI时需要注意的10个问题
|
机器学习/深度学习 计算机视觉
人脸关键点
【6月更文挑战第20天】
564 5

热门文章

最新文章