【发布时间】:2014-01-31 01:34:04
【问题描述】:
鉴于具有多台机器的 Elasticsearch 集群,我希望有一台位于不同地理区域的机器(特殊节点)可以有效地与集群同步以实现只读目的。 (即不写入特殊节点;并且该特殊节点应该能够自行处理所有查询)。有可能吗?如何做到这一点?
【问题讨论】:
标签: elasticsearch
鉴于具有多台机器的 Elasticsearch 集群,我希望有一台位于不同地理区域的机器(特殊节点)可以有效地与集群同步以实现只读目的。 (即不写入特殊节点;并且该特殊节点应该能够自行处理所有查询)。有可能吗?如何做到这一点?
【问题讨论】:
标签: elasticsearch
使用 elasticsearch 1.0(目前在 RC1 中可用),您可以使用 snapshot & restore api;也可以查看this blog 以了解更多信息。
您基本上可以制作索引的快照,然后将快照复制到辅助位置并将其恢复到不同的集群中。好的部分是快照是增量的,这意味着只有自上次快照以来发生更改的文件才会被实际备份。然后,您可以定期创建快照,并将它们导入辅助集群。
如果您还没有使用 1.0,我建议您看看它,快照和恢复是一个很好的补充。您仍然可以手动进行备份并使用 0.90 恢复它们,但是您没有很好的 api 来执行此操作,您几乎需要手动完成所有操作。
【讨论】:
You can basically make a snapshot of your indices, then copy the snapshot over to the secondary location。在_snapshot API 中是否有任何特定的方法可以做到这一点,或者我需要用 SCP 做到这一点吗?