elasticsearch7.8索引生命周期报错:index.lifecycle.rollover_alias does not point to index
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. 问题解决与正确的配置
使用下面的配置可以解决我的问题,且没有报错的情况
- 关闭滚动更新,因为滚动更新设置比较复杂,跟我的需求关系不大,而且上面的错误也是因为这个设置不正确引起的。
- 设置删除,30天后自动删除
- 重新绑定索引模板
重新绑定索引模板
覆盖就行了,覆盖之后就是重新更新。
然后原来的索引生命周期策略都需要重新配置(这个比较麻烦)
配置完之后,正常情况如下:
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相关推荐
- 【Kibana】索引生命周期策略错误illegal_argument_exception: index.lifecycle.rollover_alias does not point to index
一.背景 在使用ELK进行日志收集分析时,我们经常会将每天的日志生成一个索引,类似somta-log-2021-02-25,在以前的版本是需要我们写脚本或者服务来删除不想要的索引的,但是在新的ES里面 ...
- 【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 ...
- ES系列-- ILM索引生命周期管理
前言 官方文档地址7.8版本 正文 ILM定义了四个生命周期阶段: Hot:正在积极地更新和查询索引. Warm:不再更新索引,但仍在查询. cold:不再更新索引,很少查询.信息仍然需要可搜索,但是 ...
- Elasticsearch7.X ILM索引生命周期管理(冷热分离)
一."索引生命周期管理"概述 Elasticsearch索引生命周期管理指:Elasticsearch从设置.创建.打开.关闭.删除的全生命周期过程的管理. 二.为什么要使用&qu ...
- Elastic:集群相关知识点总结(一)数据流 Data Stream、索引生命周期 ILM、可搜索快照 searchable snapshots、跨集群搜索 CCS、跨集群复制 CCR
0.引言 集群管理是ES的核心重点,因此相关的知识点至关重要,本期主要针对数据流.索引生命周期.可搜索快照.跨集群搜索.跨集群复制进行讲解 1.数据流 Data Stream 官方文档:Data st ...
- Elasticsearch 索引生命周期管理方案
Elasticsearch索引生命周期管理方案 文章目录 Elasticsearch索引生命周期管理方案 1.生命周期 1.1 阶段介绍 2.模拟过程(基础) 2.1 创建索引生命周期策略 2.2 创 ...
- 一文详解elasticsearch的索引生命周期管理—rollover+curator—ilm
前言 随着大数据和人工智能行业的发展与成熟,各个行业各种业务场景下OLAP(联机分析处理)的需求越来越强:人工智能中的NLP(自然语言识别)的发展为文本分析以及全文检索带上了一个新的台阶,在这种背景下 ...
- Elasticsearch索引生命周期管理方案
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 一.前言 在 Elasticsearch 的日常中,有很多 ...
- 【Elasticsearch】使用索引生命周期管理实现热温冷架构
1.概述 [Elasticsearch]Elasticsearch 索引生命周期管理 转载:使用索引生命周期管理实现热温冷架构 索引生命周期管理 (ILM) 是在 Elasticsearch 6.6( ...
- kibana创建索引_ELK 索引生命周期管理
前言 之前搭建的 ELK 集群经过几天的日志收集,索引数逐渐增多,服务器的各项内存.cpu.IO 指标开始上涨起来,要解决这个问题,在权衡性能与用户使用,应该做好索引的生命周期管理. kibana 索 ...
最新文章
- map multimapc++_C++的Map和Multimap
- 消除危害 让BYOD策略更安全的几个秘诀
- 操作像素(一)--存取像素值
- 采用web技术开发PC应用
- 具备自动刷新功能的 SAP ABAP ALV 报表
- MFC非模态对话框实例
- BCB 连接数据库和查询数据
- 蓝桥杯 基础练习 龟兔赛跑预测
- idea集成svn问题
- HTTP协议格式、URL格式及URL encode
- select2使用问题--删除添加select2的DOM
- 苹果鼠标滚轮驱动_苹果鼠标magic mouse在戴尔电脑Windows10系统上使用滚轮的方法...
- 用javascript和jquery部分知识实现的打地鼠小游戏
- Vue卡列表中不同卡片显示不同背景颜色
- Google是如何做Code Review的
- Oracle EBS创建LPN
- 索罗斯:国际银行家的金融黑客
- 【厚积薄发系列】C++项目总结16—单例模式释放时机导致的崩溃问题分析
- 大数据早报:搜狐《数字之道》,召唤新势力 十一数据观:钱和人都去哪了?(10.10)
- 安卓案例:学生信息管理
热门文章
- CUDA驱动版本与运行版本不匹配问题详解
- css各种字体英文名称
- android 音频对比,差距只有安卓?索尼Zx300a与505全方位对比
- c语言课程设计,学生信息管理系统
- 前期观看郝斌老师Java学习视频整理的部分笔记
- java access_Java 连接Access数据库的两种方式
- 2.16 自定义快速访问工具栏以提升工作效率 [原创Excel教程]
- pantum打印机驱动安装m6506_奔图m6506驱动程序
- 山大计算机学院教务处,山东大学本科生院教务系统
- 【20保研】厦门大学软件学院暑期夏令营招生简章