不要急,总有办法的

[求助] es5.2的index定时删除

Elasticsearch | 作者 Lincoln | 发布于2017年05月28日 | 阅读数:9883



ofbiz.png

如下图所示,业务系统的日志每天创建一个index,由于硬盘有限
现在的需求:定期删除7天以前的index,即保留最近7天的(每7天运行一次,批量删除历史index)
 
目前的测试方案有
1)在es/data/nodes/0/indexs目录下,按index文件创建日期删除,结果不成功,
    1.1)es服务运行时,由于es是集群,删除后会自动恢复
    1.2)es服务停止,删除index文件,es重启后,全部index文件时间更新为当前
 
2) curl -XDELETE /index-2015-05-1*,可以批量删除10天的index,时间不可控
 
3)es-head界面删除,重复操作工作量大
 
 

 
已邀请:

Ricky_Lau - 码农,,

赞同来自:

3个方案:
 1.业务通过定时调度任务去定时执行删除命令(例: java 有quartz 调度器可以实现) 
 2.在Linux 环境中使用crontab 通过REST API 删除无效的索引即可。
 3.使用ES官方的索引管理工具,https://github.com/elastic/curator 具体的话看README里的描述。

zaqweb

赞同来自:

官方 Curator可以帮你完成更多功能:
https://www.elastic.co/guide/e ... .html
 
如果你只是删除,简单点用个Java算出7天内的index 名称,调用7次delete index api 也可以完成。
 
~

要回复问题请先登录注册