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

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 带你读《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

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
12月前
|
存储 Kubernetes 固态存储
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(7)
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(7)
119 0
|
12月前
|
存储 数据安全/隐私保护 索引
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(13)
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(13)
114 0
|
12月前
|
存储 API 对象存储
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(11)
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(11)
150 0
|
12月前
|
存储
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(17)
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(17)
116 0
|
12月前
|
存储 数据可视化 数据安全/隐私保护
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(4)
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(4)
119 0
|
12月前
|
Prometheus Kubernetes 负载均衡
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(1)
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(1)
163 0
|
12月前
|
安全 对象存储 索引
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(14)
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(14)
126 0
|
12月前
|
Prometheus Kubernetes 安全
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(20)
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(20)
138 0
|
12月前
|
Kubernetes Linux 容器
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(3)
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(3)
107 0
|
12月前
|
存储 Kubernetes 固态存储
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(5)
带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(5)
117 0