zoukankan      html  css  js  c++  java
  • ES索引生命周期管理配置的关键点

    索引的生命周期策略是ELK中非常有意义的功能,一般用于热(hot)、温(warm)、冷(clod)数据的索引和分片管理,以及定期删除过期的数据,以确保ES的健康运行。

    划重点:

    生命周期有四个重要阶段:

    hot: 索引需被频繁的写入和查询(快)

    warm: 索引不可写入,但是仍需查询(中)

    cold: 索引不可写入,很少被查询(慢)

    delete: 索引已无价值,干掉完事

    需要注意理解索引生命周期策略的执行逻辑,通常我们会使用滚动更新,并希望当前写操作的索引处于hot阶段以提供最优服务,同时该索引会被记录为rollover(rollover翻译过来是“转换”或“翻转”的意思,意思就是该索引可转为warm阶段)。

    以冷(温)热分离为例,若满足策略hot阶段的任一rollover触发条件时,系统会自动把当前hot阶段的索引rollover为warm阶段索引(通常会触发数据迁移至warm节点),同时根据模板创建一个新的索引提供写入操作,若在转换为warm时启用了压缩则原索引会被命名为shrink开头,并保留原索引的别名。

    配置步骤入下:

    1、配置索引生命周期策略(傻瓜式UI操作就不举例了)

    为了尽快看到效果,可以通过调整索引生命周期策略的检测间隔为10s来看效果,即索引中数据写入且触发refresh动作10s后会触发生命周期检测与执行,命令如下:

    PUT /_cluster/settings
    {
      "transient": {
        "indices.lifecycle.poll_interval": "10s"    //系统原默认值是10分钟
      }
    }
    

    2、配置索引模板(请根据需要自行配置Mapping部分)

    PUT _template/test_template
    {
      "index_patterns": ["test-*"],                 
      "settings": {
        "number_of_shards": 2,
        "number_of_replicas": 1,
        "index.lifecycle.name": "test_policy",    //第一步配置的策略名称    
        "index.lifecycle.rollover_alias": "test",    //策略执行时对rollover状态的index设置别名

    "index.routing.allocation.require.temperature": "hot" //请根据ES集群的配置参数设置红色部分,如temperature你配置的是是叫box_type,那请改成box_type } }

      

    3、接着就是创建新索引(需匹配上面创建的模板),写入数据,刷新索引后等待10s观察是否触发策略

  • 相关阅读:
    Tcp抓包以及Tcp状态
    Wireshark抓包使用指南
    服务端tcp syn无响应,无回复
    升级openssh
    平滑升级Nginx
    Memcached 未授权访问漏洞修复
    服务端高并发分布式架构演进之路
    es索引查询与删除
    申请elasticsearch中x-pack插件许可证及授权
    独立安装ab压力测试工具及测试nginx性能
  • 原文地址:https://www.cnblogs.com/Don/p/elasticsearch.html
Copyright © 2011-2022 走看看