索引生命周期的管理

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

测试代码

 

 

 

 

 

 

 

 

 

 接下来创建索引模板

 

 

 

 

 

 

复制代码
PUT _cluster/settings
{
  "persistent": {
    "indices.lifecycle.poll_interval":"1s"
  }
}

PUT /_ilm/policy/nginx_ilm_policy
{
  "policy": {
    "phases": {
      "hot": {
        "actions": {
          "rollover": {
            "max_docs": "10"
          }
        }
      },
      "warm": {
        "min_age": "5s",
        "actions": {
          "allocate": {
            "include": {
              "box_type": "warm"
            }
          }
        }
      },
      "cold": {
        "min_age": "20s",
        "actions": {
          "allocate": {
            "include": {
              "box_type": "cold"
            }
          }
        }
      },
      "delete": {
        "min_age": "40s",
        "actions": {
          "delete": {}
        }
      }
    }
  }
}

PUT /_template/nginx_ilm_template
{
  "index_patterns": ["nginx_logs-*"],                 
  "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 0,
    "index.lifecycle.name": "nginx_ilm_policy",      
    "index.lifecycle.rollover_alias": "nginx_logs",
    "index.routing.allocation.include.box_type": "hot"
  }
}

PUT nginx_logs-000001
{
  "aliases": {
    "nginx_logs": {
      "is_write_index":true
    }
  }
}

POST nginx_logs/_doc
{
  "name":"abbc"
}

GET nginx_logs/_search
复制代码

 博客这里转载自:

https://www.cnblogs.com/passzhang/p/12402911.html

控制整个集群,进行一些轻量级操作,列如:跟踪哪些节点是集群中的一部分,决定节点分片分配,负责集群健康, 不包含数据,也不参与搜索和索引操作,对于CPU,RAM,磁盘的性能要求比Data节点小很多

1|2Data节点

热节点

这个数据节点执行集群内的所有索引操作。他们也持有最近的指数,因为这些指数通常最常被查询。

由于索引是CPU和IO密集型操作,因此这些服务器需要功能强大,并附带SSD存储。

建议至少运行3个热节点以实现高可用性。根据收集的日志量,再确定需要多少机器

通过elasticsearch.yml中配置:node.attr.box_type: hot

也可以通过启动的时候命令:./bin/elasticsearch -Enode.attr.box_type=hot

暖节点

这种类型的数据节点被设计为处理不太长用的索引数据,是只读索引。

暖节点倾向于利用大型连接的磁盘(通常是旋转磁盘)而不是SSD。

与热节点一样,我们建议至少有3个暖节点用于高可用性。与之前一样。

要注意的是,大量的数据可能需要额外的节点来满足性能要求。

还要注意,CPU和内存配置一般都是和热节点一样。具体配置需要根据生产环境实际情况来配置

通过elasticsearch.yml中配置:node.attr.box_type: warm

也可以通过启动的时候命令:./bin/elasticsearch -Enode.attr.box_type=warm

可以在暖节点的elasticsearch.yml配置: index.codec: best_compression 来对分配到暖节点的数据进行压缩

API接口

ES会根据索引的setting来自动将数据分配到热节点或者暖节点

分配logs_2016-12-26到热节点上

PUT /logs_2016-12-26/_settings { "settings": { "index.routing.allocation.require.box_type": "hot" } }

分配logs_2016-12-26到暖节点上

PUT /logs_2016-12-26/_settings { "settings": { "index.routing.allocation.require.box_type": "warm" } }

通过模板来分配索引数据该分配到热节点还是暖节点

热节点:

{ "template" : "indexname-*",#如果需要把所有的索引默认都指向热节点,可以配置为* "version" : 50001, "settings" : { "index.routing.allocation.require.box_type": "hot" ... }

暖节点:

{ "template" : "indexname-*", "version" : 50001, "settings" : { "index.routing.allocation.require.box_type": "warm" ... }

 

posted on   luzhouxiaoshuai  阅读(209)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示