• 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观察是否触发策略

  • 相关阅读:
    网页下载文件
    C++从内存到流
    MapServer的安装和使用
    程序中写个日志
    COM接口映射表
    webgis开源资料
    SQL基础>过滤和排序
    开源的webgis框架总结(转)
    mapserver安装相关
    Python入门,以及简单爬取网页文本内容
  • 原文地址:https://www.cnblogs.com/Don/p/elasticsearch.html
Copyright © 2020-2023  润新知