1. 问题描述

目的:这个es主要是做日志收集用的,每天的日志生成一个索引,类似于
ops-sysinfo-2020.10.23这种,然后用es的索引生命周期功能自动删除30天前的日志,实现滚动删除功能(不想用脚本),这个用法我在es6.8上已经实现过一次。

结果在es7.8上配置好之后,出现了下面的错误:
错误1:
illegal_argument_exception: index.lifecycle.rollover_alias [logs] does not point to index [logs-sysinfo-2020.10.19]
错误2:
illegal_argument_exception: rollover target [logs] does not point to a write index
错误3:
illegal_argument_exception: setting [index.lifecycle.rollover_alias] for index [logs-sysinfo-2020.10.19] is empty or not defined
主要是上面三个错误,刚开始只有第一个错误,后面两个是在我调试过程中遇到的。

先看看我之前的配置:
索引生命周期:

索引模板:

PUT _template/logs_template
{"index_patterns": ["logs-*"],   # 匹配所有以logs开头的索引"settings": {"number_of_shards": 1,"number_of_replicas": 1,"index.lifecycle.name": "delete-30day",     # 绑定生命周期策略"index.lifecycle.rollover_alias": "logs"        # 别名}
}

2. 问题解决与正确的配置

使用下面的配置可以解决我的问题,且没有报错的情况

  1. 关闭滚动更新,因为滚动更新设置比较复杂,跟我的需求关系不大,而且上面的错误也是因为这个设置不正确引起的。
  2. 设置删除,30天后自动删除
  3. 重新绑定索引模板

    重新绑定索引模板

    覆盖就行了,覆盖之后就是重新更新。

    然后原来的索引生命周期策略都需要重新配置(这个比较麻烦)
    配置完之后,正常情况如下:

3. 问题说明

在解决这个问题的过程中,遇到很多问题。主要是没考虑清楚生命周期策略里面的一些配置细节。

生命周期策略中的滚动更新是需要对索引设置别名的,而且每个索引设置的别名不能一样。但我设置的是每天更新索引,索引是按天区分的,给每个索引设置别名的方式很明显不适合我,没办法自动设置索引,最多使用脚本定时去执行,这样增加了复杂度,必要性不强,真做到这一步,我还不如写脚本定时删除,不用生命周期策略了。

我们看一下一些beats生成的索引是什么样的:



索引别名:

别名设置方式(在kibana控制台的调试工具中操作):

POST /_aliases
{"actions": [{"add": {"index": "ops-sysinfo-2020.10.23-00001","alias": "sysinfo",          # 索引别名"is_write_index": true   # 这个参数必须有,没有会报错}}]
}

参考:https://www.elastic.co/guide/en/elasticsearch/reference/7.8/set-up-lifecycle-policy.html
注意:索引名称要设置成*-00001这种的,这样自动更新的时候,下一个就是*-00002,否则也会报错(参考beats的配置)

这些beats的索引,不是按天生成的,只有一个索引,启动了滚动更新功能(滚动更新创建的新索引将添加到索引别名,并被指定为写索引。)当现在的这个索引大于50千兆,即50g或者超过30天之后,索引将会更新,索引别名将会指向新生成的索引,旧的索引使用频率(读、写)会逐渐降低。

现在来看,滚动更新并不能解决我的问题,或者说我的按日期进行配置的索引已经进行了滚动,不需要通过生命周期策略进行滚动,这个策略并不能解决我的问题,还引发了新的问题,还不如把它去掉。

滚动更新更适合对于同一索引(不是按日期的),数据量非常大,且越新的数据调用越频繁,旧数据调用没那么频繁的场景。

至于如何正确设置滚动更新,关键是设置好更新策略和别名,具体的请参考官方文档。

参考:
https://www.cnblogs.com/mikelaowang/p/13345318.html
https://www.jianshu.com/p/358fde8d8e27
https://zhuanlan.zhihu.com/p/266030572?utm_source=wechat_timeline
https://www.elastic.co/guide/en/elasticsearch/reference/7.8/indices-rollover-index.html

elasticsearch7.8索引生命周期报错:index.lifecycle.rollover_alias does not point to index相关推荐

  1. 【Kibana】索引生命周期策略错误illegal_argument_exception: index.lifecycle.rollover_alias does not point to index

    一.背景 在使用ELK进行日志收集分析时,我们经常会将每天的日志生成一个索引,类似somta-log-2021-02-25,在以前的版本是需要我们写脚本或者服务来删除不想要的索引的,但是在新的ES里面 ...

  2. 【elasticsearch】elasticsearch 7 index.lifecycle.rollover_alias does not point to index

    文章目录 1.场景1 2.场景再现2 3.源码解析 1.场景1 一环境出现这种问题. illegal_argument_exception: index.lifecycle.rollover_alia ...

  3. ES系列-- ILM索引生命周期管理

    前言 官方文档地址7.8版本 正文 ILM定义了四个生命周期阶段: Hot:正在积极地更新和查询索引. Warm:不再更新索引,但仍在查询. cold:不再更新索引,很少查询.信息仍然需要可搜索,但是 ...

  4. Elasticsearch7.X ILM索引生命周期管理(冷热分离)

    一."索引生命周期管理"概述 Elasticsearch索引生命周期管理指:Elasticsearch从设置.创建.打开.关闭.删除的全生命周期过程的管理. 二.为什么要使用&qu ...

  5. Elastic:集群相关知识点总结(一)数据流 Data Stream、索引生命周期 ILM、可搜索快照 searchable snapshots、跨集群搜索 CCS、跨集群复制 CCR

    0.引言 集群管理是ES的核心重点,因此相关的知识点至关重要,本期主要针对数据流.索引生命周期.可搜索快照.跨集群搜索.跨集群复制进行讲解 1.数据流 Data Stream 官方文档:Data st ...

  6. Elasticsearch 索引生命周期管理方案

    Elasticsearch索引生命周期管理方案 文章目录 Elasticsearch索引生命周期管理方案 1.生命周期 1.1 阶段介绍 2.模拟过程(基础) 2.1 创建索引生命周期策略 2.2 创 ...

  7. 一文详解elasticsearch的索引生命周期管理—rollover+curator—ilm

    前言 随着大数据和人工智能行业的发展与成熟,各个行业各种业务场景下OLAP(联机分析处理)的需求越来越强:人工智能中的NLP(自然语言识别)的发展为文本分析以及全文检索带上了一个新的台阶,在这种背景下 ...

  8. Elasticsearch索引生命周期管理方案

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 一.前言 在 Elasticsearch 的日常中,有很多 ...

  9. 【Elasticsearch】使用索引生命周期管理实现热温冷架构

    1.概述 [Elasticsearch]Elasticsearch 索引生命周期管理 转载:使用索引生命周期管理实现热温冷架构 索引生命周期管理 (ILM) 是在 Elasticsearch 6.6( ...

  10. kibana创建索引_ELK 索引生命周期管理

    前言 之前搭建的 ELK 集群经过几天的日志收集,索引数逐渐增多,服务器的各项内存.cpu.IO 指标开始上涨起来,要解决这个问题,在权衡性能与用户使用,应该做好索引的生命周期管理. kibana 索 ...

最新文章

  1. map multimapc++_C++的Map和Multimap
  2. 消除危害 让BYOD策略更安全的几个秘诀
  3. 操作像素(一)--存取像素值
  4. 采用web技术开发PC应用
  5. 具备自动刷新功能的 SAP ABAP ALV 报表
  6. MFC非模态对话框实例
  7. BCB 连接数据库和查询数据
  8. 蓝桥杯 基础练习 龟兔赛跑预测
  9. idea集成svn问题
  10. HTTP协议格式、URL格式及URL encode
  11. select2使用问题--删除添加select2的DOM
  12. 苹果鼠标滚轮驱动_苹果鼠标magic mouse在戴尔电脑Windows10系统上使用滚轮的方法...
  13. 用javascript和jquery部分知识实现的打地鼠小游戏
  14. Vue卡列表中不同卡片显示不同背景颜色
  15. Google是如何做Code Review的
  16. Oracle EBS创建LPN
  17. 索罗斯:国际银行家的金融黑客
  18. 【厚积薄发系列】C++项目总结16—单例模式释放时机导致的崩溃问题分析
  19. 大数据早报:搜狐《数字之道》,召唤新势力 十一数据观:钱和人都去哪了?(10.10)
  20. 安卓案例:学生信息管理

热门文章

  1. CUDA驱动版本与运行版本不匹配问题详解
  2. css各种字体英文名称
  3. android 音频对比,差距只有安卓?索尼Zx300a与505全方位对比
  4. c语言课程设计,学生信息管理系统
  5. 前期观看郝斌老师Java学习视频整理的部分笔记
  6. java access_Java 连接Access数据库的两种方式
  7. 2.16 自定义快速访问工具栏以提升工作效率 [原创Excel教程]
  8. pantum打印机驱动安装m6506_奔图m6506驱动程序
  9. 山大计算机学院教务处,山东大学本科生院教务系统
  10. 【20保研】厦门大学软件学院暑期夏令营招生简章