【问题标题】:Is there any continuously backup method for elasticsearch?elasticsearch有没有连续备份的方法?
【发布时间】:2016-08-09 13:43:29
【问题描述】:

我使用快照方法来备份我的弹性搜索节点,它的工作原理如下: PUT /_snapshot/my_backup/snapshot_1?wait_for_completion=true 但是新数据添加到elasticsearch后,它并没有包含在snapshot中,所以我们需要定期运行它,但是如果2个snapshot之间出现问题会丢失数据,有没有办法处理它? elasticsearch有持续备份的方法吗?

【问题讨论】:

  • “如果 2 个快照之间出现问题会导致数据丢失”是什么意思?
  • 我的意思是如果你恢复那个快照,那么在最后一个快照之后添加的数据将不会被恢复。
  • 你能从另一个真实来源重建丢失的数据吗?人们通常就是这样做的。
  • 这是一个很好的解决方案,但这意味着无论如何我都没有按照我的要求去做?

标签: elasticsearch backup backup-strategies


【解决方案1】:

如果您想拥有某种与集群中的数据同步的“备份”,请考虑构建两个集群。无论“主”集群有什么索引、更新、删除操作,您都需要在“备份”集群上镜像这些操作。没有别的办法。

【讨论】:

  • 另外值得注意的是,“同步”部分很难实现,尤其是在两个集群之间(+可能是另一个主要的事实来源),因为可能会发生很多事情(而且成本也很高) .由于没有两阶段提交,因此很容易不同步。根据经验,拥有可靠的重建过程要容易得多,以便在数据丢失时快速利用。
  • 连续备份意味着索引的副本之一(但这意味着相同的硬件,相同的集群),或者对备份目标的实时更新。通常人们会定期拍摄快照并将原始数据源保留较短的时间(用于重新索引目的)或索引到镜像集群相同的数据。这并不少见。确实,设置(复制硬件)和配置(可能是某种代理或负载平衡器)的成本很高,但对于实时,“连续备份”没有其他方法。
  • 绝对同意。我只是在质疑真正需要进行这种连续备份,即成本/收益比可能要高得多(低收益的大成本)比必须重建一些数据以防万一发生。但这又取决于用例和业务限制。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-02
  • 2023-02-16
  • 1970-01-01
  • 2011-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多