【发布时间】:2017-03-24 09:39:56
【问题描述】:
在我的应用程序中,我们在 ElasticSearch 中使用每日索引。 每天,我们都会在快照存储库中创建前一天的快照。
几天后,我们删除了 Elastic 的索引,又过了几天,我们删除了快照。
但是,当我进入$my_snapshot_repositories_path/indices 目录时,我仍然看到所有已快照的索引,而快照列表 API 不再返回它们(并且 meta-XXX 和 snap-XXX 文件不存在于这些快照的文件系统)。
但是,所有索引目录都没有数据,只有 5 个名称为 1、2 等的空目录。
这是我的存储库文件层次结构内容:
index
indices
meta-backup_flux-2017.03.24.dat
meta-backup_flux-2017.03.25.dat
meta-backup_flux-2017.03.26.dat
这是索引目录文件层次结构的内容:
flux-2017.03.23
flux-2017.03.24
flux-2017.03.25
flux-2017.03.26
以及它们的内容(所有这些目录都是空的):
drwxr-x--- 2 4096 Mar 31 12:00 0
drwxr-x--- 2 4096 Mar 31 12:00 1
drwxr-x--- 2 4096 Mar 31 12:00 2
drwxr-x--- 2 4096 Mar 31 12:00 3
drwxr-x--- 2 4096 Mar 31 12:00 4
最后,当我在索引目录中执行du -sh * 时,我看到我所有删除的索引权重都是 24KB(Linux 上 6 个目录的大小)。未删除的索引权重约为 40MB。
有关信息,我用于搜索的 Elastic Search 索引存储在计算机上的另一个位置。
我是不是做错了什么?
我的 ElasticSearch 版本:2.4
这就是我创建和删除快照的方式:
快照创建:
curl -s -H "Content-Type: application/json" -X PUT -d "{\"indices\": \"flux-2017.03.23\", \"ignore_unavailable\": false, \"include_global_state\": false}" http://0.0.0.0:9200/_snapshot/backup_flux/backup_flux-2017.03.23?wait_for_completion=true
快照删除:
curl -s -H "Content-Type: application/json" -X DELETE http://0.0.0.0:9200/_snapshot/backup_flux/backup_flux-2017.03.23
问候。
【问题讨论】:
-
您的意思是删除快照后仍能看到索引?对我来说看起来不错,您删除了快照,而不是原始索引
-
您好,我的意思是我仍然在我的快照存储库中看到索引,我不谈论用于搜索的索引。事实上,对我来说,当我创建快照时,ES 会在快照存储库中复制索引内容。所以当我想删除快照时,必须删除快照存储库中没有被其他快照使用的索引,否则快照存储库的大小会一直增长。
标签: elasticsearch