一尘不染

按索引文件夹备份,删除,还原Elasticsearch索引

elasticsearch

大多数ElasticSearch文档都讨论了通过REST API使用索引的方法-有什么理由不能简单地从磁盘上移动或删除索引文件夹吗?


阅读 592

收藏
2020-06-22

共1个答案

一尘不染

您可以将数据移动到磁盘上的某个位置-

如果Elasticsearch正在运行,那么移动或删除索引文件夹绝不是一个好主意,因为Elasticsearch将不知道数据发生了什么,FileNotFoundExceptions除非您手动进行操作,否则您将在日志中获得各种类型的内容以及红色的索引删除它们。

如果Elasticsearch未运行,则可以将索引文件夹移动到另一个节点(例如,如果您要永久取消使用某个节点并需要删除数据),但是如果删除或将文件夹移动到Elasticsearch无法看到的位置重新启动服务时,Elasticsearch将不满意。这是因为Elasticsearch将所谓的集群状态写入磁盘,并且在该集群状态中记录了索引,因此,如果ES启动并希望找到索引“
foo”,但是您已经删除了“ foo”索引目录,索引将保持红色状态,直到通过REST API将其删除为止。

因此,我建议如果要从磁盘移动或删除单个索引文件夹,请尽可能使用REST API,因为如果删除希望找到的文件夹,可能会使ES进入不满意的状态一个索引。

编辑:我应该提到,从Elasticsearch的角度来看,复制(用于备份)索引文件夹是安全的,因为它不会修改文件夹的内容。有时,人们这样做是为了在快照和还原API之外执行备份。

2020-06-22