带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(10)

简介: 带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(10)

《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.1.Elastic Stack 安装部署——3.4.1.8. ECK 安装(9) https://developer.aliyun.com/article/1231272


定义 ILM 策略,其中包含 4 个生命周期阶段:

 

l Hot 阶段:将索引优先级设置为一个较高的值 100,以便节点在恢复运行后(例如重启)在Hot 阶段的索引能够在 Warm 和 Cold 阶段的索引之前恢复。当索引主分片文档数达到 5个或者索引主分片总容量达到 5MB 时,rollover 滚动更新索引。

l Warm 阶段:20s 后索引进入 Warm 阶段,将索引收缩到 1 个主分片,强制合并为 1 个段,并将索引的优先级调低为 50,然后通过 allocate 操作将索引移动到 Warm 节点。

l Cold 阶段:40s 后索引是进入 Cold 阶段,将索引的优先级调为最低值 0,并设置索引为只读状态,然后通过 allocate 操作将索引移动到 Cold 节点。

l Delete 阶段:60s 后删除该索引。


PUT _ilm/policy/hot-warm-ilm
{
  "policy": {
    "phases": {
      "hot": {
        "actions": {
          "rollover": {
            "max_size":"5mb",
            "max_docs": "5"
          },
          "set_priority": {
            "priority":100
          }
        }
      },
      "warm": {
        "min_age":"20s",
        "actions": {
          "forcemerge": {
            "max_num_segments":1
          },
          "shrink": {
            "number_of_shards":1
          },
          "allocate": {
            "include": {
              "data": "warm"
            }
          },
          "set_priority": {
            "priority":50
          }
        }
      },
      "cold": {
        "min_age":"40s",
        "actions": {
          "set_priority": {
            "priority":0
          },
          "readonly": {},
          "allocate": {
            "include": {
              "data": "cold"
            }
          }
        }
      },
      "delete": {
        "min_age":"60s",
        "actions": {
          "delete": {}
        }
      }
    }
  }
}

ECK 在创建 Elasticsearch 集群时,会根据我们指定的属性为节点添加属性,例如 node.attr.data: hot,我们后续就可以通过 node.attr.data 来区分冷热节点。属性名是可以自己定义的,比如还可以叫 node.attr.my-data。

 

定义一个索引模板,所有通配符匹配 hot-warm-index* 的索引,都会应用该模板的规则。该索引模板调用了刚刚创建的 ILM 策略,并且将新索引分配到 Hot 节点上,主分片数设置为 3,副本分片为 1。当索引触发 rollover 滚动更新新的索引时,以 hot-warm-index 作为别名。


PUT /_template/hot-warm-index-template
{
  "index_patterns" : [
      "hot-warm-index*"
    ],
    "settings" : {
      "index" : {
        "lifecycle" : {
          "name" : "hot-warm-ilm",
          "rollover_alias" : "hot-warm-index"
        },
        "routing" : {
          "allocation" : {
            "include" : {
              "data" : "hot"
            }
          }
        },
        "number_of_shards" : 3,
        "number_of_replicas": 1
      }
    }
}


为 hot-warm-index 别名创建第一个索引 hot-warm-index-000001,后续在 rollover 滚动更新索引时,索引名会根据最后的序号递增,例如 hot-warm-index-000002、hot-warm-index-000003、hot-warm-index-000004 ...。指定第一个索引分配到 Hot 节点上,索引别名为 hot-warm-index。一个别名中的所有索引只能有一个索引可以写入数据,"is_write_index": true自动设置最新滚动更新的索引可写。

 

PUT hot-warm-index-000001
{
  "aliases": {
    "hot-warm-index": {
      "is_write_index": true 
    }
  }
}

往索引中插入 5 条数据。


POST _bulk
{"index":{"_index":"hot-warm-index"}}
{"name":"Erlend","age":16}
{"index":{"_index":"hot-warm-index"}}
{"name":"Brynjar","age":18}
{"index":{"_index":"hot-warm-index"}}
{"name":"Fox","age":18}
{"index":{"_index":"hot-warm-index"}}
{"name":"Frank","age":23}
{"index":{"_index":"hot-warm-index"}}
{"name":"Sam","age":18}

《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.1.Elastic Stack 安装部署——3.4.1.8. ECK 安装(11) https://developer.aliyun.com/article/1231270

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
存储 应用服务中间件 测试技术
Elasticsearch Data Stream 数据流使用
Elasticsearch Data Stream 数据流使用
603 0
|
Prometheus 监控 负载均衡
使用Istio实现智能流量路由:金丝雀发布实践
使用Istio实现智能流量路由:金丝雀发布实践
|
Kubernetes 监控 Cloud Native
快速部署YuniKorn开启全能管理与调度器
本文介绍了YuniKorn的基本信息,并通过阿里云计算巢完成了YuniKorn的快速部署,使用者不需要自己下载代码,不需要自己安装复杂的依赖,不需要了解底层技术,只需要在控制台图形界面点击几下鼠标就可以快速部署并启动YuniKorn,非技术同学也能轻松搞定。
|
前端开发 Java 数据安全/隐私保护
【2022】Elasticsearch-7.17.6集群部署
【2022】Elasticsearch-7.17.6集群部署
1875 0
|
容器 Perl
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(19)
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(19)
423 1
|
存储 Kubernetes 应用服务中间件
K8s不同node如何共享存储
K8s不同node如何共享存储
640 0
|
Prometheus Kubernetes 负载均衡
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(1)
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(1)
703 0
|
Kubernetes 数据安全/隐私保护 索引
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(9)
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(9)
332 0
|
存储 API 对象存储
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(11)
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(11)
424 0
|
Kubernetes 数据安全/隐私保护 Perl
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(6)
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(6)
621 0

热门文章

最新文章