【问题标题】:Migrating Solr Cloud cluster over new cloud vendor通过新的云供应商迁移 Solr Cloud 集群
【发布时间】:2018-05-30 16:31:09
【问题描述】:

我们需要将我们的 solr 云集群从一个云供应商转移到另一个云供应商,该集群由 8 个分片组成,具有 2 个副本因子,分布在 8 个服务器之间,总共大约有 500GB 的数据。

我想知道迁移集群的常用方法是什么,尤其是对可用性和性能等影响较小的数据。

我正在考虑某种初始转储副本,然后在保持同步后同步它们以赶上差异(可能很大),只要从另一边准备好一切就切换。

这是可行的吗?我应该/可以使用哪些工具?

谢谢!

【问题讨论】:

  • 您是要在新的提供者上复制相同的服务器结构,还是仅仅索引相同的数据集?如何知道数据是否已更新? Solr 是您的主要数据存储(即您能否在后台重新索引当前状态,然后将所有更新发送到两个集群一段时间)?你有与文档相关的时间戳吗?你有looked at the BACKUP/RESTORE commands in the collections api吗?
  • 嗨@MatsLindh,我正在考虑复制相同的服务器结构,但无论使迁移更容易对我来说,这是一个很好的点 solr 不是我们的主要数据存储,因此我们可能会从那里重新索引,我可以开始重新索引过程并在完成之前开始发送新的更新吗?如何处理重复条目?我也会看看备份/恢复命令,谢谢!
  • 然后我会考虑重新索引,它可以让你保持两个集群都是最新的,并在构建新集群时搜索当前集群。它还可以避免版本之间的任何问题,并且集群的布局不必相同。
  • 听起来不错,solr 如何处理添加重复条目?我的意思是假设重新索引作业和新更新之间会有一些重叠?我猜 solr 会透明地处理它......验证两个集群是否同步的最佳方法是什么?那里有任何可用的工具/方法吗?谢谢一百万
  • 如果你有一个与你的记录相关的时间戳,我会在开始重新索引时记下当前状态,然后重新索引在那个时间戳之后更新的任何内容..然后再做一次,直到增量0(如果可能的话,可能与另一个维护任务一起计时并进行最后一点更新)。重复的 id 将覆盖以前的文档,但您可以使用 _version_ 字段进行乐观更新(即,如果内容已更新为比您提交的内容更新的版本标签,则会出错),但是我还不会花时间在这上面。

标签: database solr solrcloud


【解决方案1】:

您有多种选择,具体取决于您现有的设置和 Solr 版本:

  1. 如前所述,利用 Collections API 中的备份和恢复 API
  2. 如果您拥有 Solr 6 及更高版本,我建议您探索 CDCR 选项,这是 Solr 的原生跨数据中心复制。
  3. 重新索引到新集群,然后在重新索引完成后利用 Solr 集合别名将应用程序端点更改为目标提供程序

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多