【问题标题】:My ElasticSearch snapshot indices directory are not deleted when I delete the Snapshot删除快照时未删除我的 ElasticSearch 快照索引目录
【发布时间】: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


【解决方案1】:

理想情况下,它应该...但是快速浏览一下 ES Docs 会显示以下内容:

可以使用以下命令删除存储库:

删除 /_snapshot/my_backup

删除存储库时,Elasticsearch 仅删除对存储库存储快照的位置的引用。快照本身保持不变。

【讨论】:

  • OP 正在删除 snaphot,而不是快照 repo
猜你喜欢
  • 1970-01-01
  • 2020-10-24
  • 1970-01-01
  • 1970-01-01
  • 2022-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多