当前位置: 首页 > wzjs >正文

地方性资讯门户网站app营销十大成功案例

地方性资讯门户网站,app营销十大成功案例,专注宜昌网站建设,做红包图片的网站文章目录 背景介绍环境限制索引大小创建 ILM(索引生命周期管理)策略创建 ILM 策略 创建索引模板并关联 ILM 策略使用索引模板应用 ILM 策略 解决索引模板匹配冲突✅ 解决方案🔹 方案 1:修改 index_patterns(推荐&#…

文章目录

  • 背景
  • 介绍
  • 环境
  • 限制索引大小
    • 创建 ILM(索引生命周期管理)策略
      • 创建 ILM 策略
    • 创建索引模板并关联 ILM 策略
      • 使用索引模板应用 ILM 策略
  • 解决索引模板匹配冲突
    • ✅ 解决方案
      • 🔹 方案 1:修改 `index_patterns`(推荐)
      • 🔹 方案 2:提高 `priority`(这个更符合我的方案,但不推荐)
      • 🔹 方案 3:删除已有冲突模板
        • 1️⃣ 查看所有索引模板
        • 2️⃣ 删除不需要的 `metrics` 和 `logs` 模板
  • 结论


背景

ES 集群每天都会 触发磁盘报警,让人 非常头疼

为了控制磁盘使用量,我 编写了一个 Shell 脚本,当磁盘 使用率超过 75% 时,就会 自动删除前一天的索引

然而,问题出现了

  • 这些索引 都是当天新产生的,导致 脚本无法提前清理,磁盘空间依然告急。

于是,我开始思考:
🔍 Elasticsearch 是否有参数可以直接限制索引大小? 🤔


介绍

在使用 Elasticsearch 时,我们可能需要 限制索引大小,以防止磁盘占用过多。通常,我们会使用 索引生命周期管理(ILM)策略 来控制索引的大小,同时需要通过 索引模板(Index Template) 来确保新创建的索引符合规则。

然而,在设置索引模板时,可能会遇到 索引匹配冲突 的问题,导致模板无法生效。本文将介绍 如何限制索引大小,并提供 索引模板冲突的解决方案


环境

es集群三台机器
192.168.1.1
192.168.1.2
192.168.1.3


限制索引大小

创建 ILM(索引生命周期管理)策略

ILM 策略允许我们设置 索引的最大大小,并在超出限制时自动滚动到新的索引。

创建 ILM 策略

curl -X PUT "192.168.1.1:9200/_ilm/policy/my_policy" -H "Content-Type: application/json" -d '
{"policy": {"phases": {"hot": {"actions": {"rollover": {"max_size": "50gb",  # 单个索引最大 50GB"max_age": "7d"      # 或者 7 天后滚动}}}}}
}'

这个策略的作用:

  • 当索引达到 50GB存活超过 7 天,会自动 滚动(rollover) 到新索引。

创建索引模板并关联 ILM 策略

使用索引模板应用 ILM 策略

curl -X PUT "192.168.1.1:9200/_index_template/my_template" -H "Content-Type: application/json" -d '
{"index_patterns": ["my_index-*"],  # 只匹配 "my_index-" 开头的索引"priority": 100,"template": {"settings": {"index.lifecycle.name": "my_policy"}}
}'

✅ 这样,所有匹配 my_index-* 的索引都会自动遵循 my_policy 策略!


解决索引模板匹配冲突

在上面的操作中,你可能会遇到以下错误:

index template [my_template] has index patterns [*] matching patterns from existing templates [metrics,logs]

这个错误的意思是:

  • 你的 index_patterns: ["*"] 匹配了所有索引,而你的集群里已经有 metricslogs 模板,并且它们的 priority: 100,导致冲突。

✅ 解决方案

我们可以通过 以下三种方式 解决冲突:

🔹 方案 1:修改 index_patterns(推荐)

最好的做法是 让模板只作用于你需要的索引,而不是所有索引:

curl -X PUT "192.168.1.1:9200/_index_template/my_template" -H "Content-Type: application/json" -d '
{"index_patterns": ["my_index-*"],  # 只匹配 "my_index-" 开头的索引"priority": 100,"template": {"settings": {"index.lifecycle.name": "my_policy"}}
}'

这样不会影响 metricslogs 索引,避免冲突!


🔹 方案 2:提高 priority(这个更符合我的方案,但不推荐)

如果你仍想让你的模板覆盖所有索引(index_patterns: ["*"]),可以 提高 priority,比如改成 200

curl -X PUT "192.168.1.1:9200/_index_template/my_template" -H "Content-Type: application/json" -d '
{"index_patterns": ["*"],"priority": 200,  # 提高优先级,覆盖已有模板"template": {"settings": {"index.lifecycle.name": "my_policy"}}
}'

⚠️ 注意

  • 如果 metricslogs 需要保留原配置,慎用此方法!
  • 推荐方案 1,限制 index_patterns,只作用于部分索引。

🔹 方案 3:删除已有冲突模板

如果 metricslogs 模板不是必须的,可以 先查看模板列表,然后删除:

1️⃣ 查看所有索引模板
curl -X GET "192.168.1.1:9200/_index_template?pretty"
2️⃣ 删除不需要的 metricslogs 模板
curl -X DELETE "192.168.1.1:9200/_index_template/metrics"
curl -X DELETE "192.168.1.1:9200/_index_template/logs"

然后再创建 my_template 模板。

⚠️ 仅适用于 metricslogs 不是你需要的情况下!


结论

方案适用场景风险
修改 index_patterns(推荐)只影响特定索引最安全
提高 priority需要全局覆盖⚠️ 可能影响现有模板
删除冲突模板旧模板不再需要⚠️ 需确保不会影响系统索引

推荐方案 1:修改 index_patterns,确保只影响特定索引,避免影响 metricslogs 这些已有模板。

你可以根据自己的需求选择最合适的方案,确保 Elasticsearch 集群稳定运行! 🚀

http://www.dtcms.com/wzjs/213186.html

相关文章:

  • dedecms 营销网站模板免费下载又有什么新病毒出现了
  • wordpress风影海南百度推广seo
  • 推广优化公司网站微信朋友圈广告怎么推广
  • 嘉兴做企业网站的公司长沙正规seo优化公司
  • 宠物网站建设总结软文网站有哪些
  • 用java怎么做购物网站重庆森林影评
  • 写作网站怎么做营销推广
  • 建筑网站排行榜个人网页设计作品模板
  • 政府新闻网站建设意见平台开发
  • 做外贸网站案例厦门百度代理公司
  • 做网站php与python网站优化排名首页
  • app界面设计欣赏网站谷歌官网登录入口
  • 编程网站ide做的比较好的杭州优化公司多少钱
  • 深圳外包公司网站优化模型数学建模
  • b2b网站做排名是什么意思南宁推广公司
  • 微网站建设资讯电脑培训机构哪个好
  • 彩票网站搭建重庆seo网络营销
  • 桂林小学网站建设百度广告联盟平台官网
  • 做新闻网站的素材长沙官网网站推广优化
  • 衢州高端网站建设软文标题大全
  • 南通做网站厉害的备案域名
  • 网站推广员招聘app拉新平台哪个好佣金高
  • 贸易公司做推广的网站郑州seo课程
  • 内网网站建设改版方案中央新闻联播
  • 大型网站开发实战百度账号申诉中心
  • 网站建设备案优化设搜索网站排行榜
  • 企业做网站要注意些什么怎么把网站排名到百度前三名
  • js 网站首页下拉广告百度站长工具综合查询
  • 用ps切片做网站能不能完成武汉大学人民医院东院
  • 个人建设网站要钱吗淘宝网店怎么运营起来