我有一个SOLR 7.2云,有6个节点,前面是DNS/F5。我在这些节点中有超过 80 GB 的索引数据。我想创建此索引的备份,作为在通过常规业务事务更改索引之前的起点。我还希望将此备份索引还原到其他数据中心,以实现复原和灾难恢复目的。几个问题
1( 我是否必须在每个 SOLR 节点上运行备份集合 API 命令?如果我直接使用 F5/DNS 备份集合怎么办?solr会创建正确的备份吗? 2(我知道备份可以在共享驱动器上创建。但是,一个数据中心中的共享云端硬盘可能对可能位于完全不同子网的另一个数据中心不可见。有什么想法吗? 3( 在恢复集合时,我是否必须使用确切的集合名称,或者我可以生成一个新集合名称?我假设源集合中的配置将用于在目标数据中心生成新集合。
提前致谢
在一个节点上运行 BACKUP Collection 命令。如果将其发送到负载均衡器,它仍应正常工作,因为每个节点都将接收内部分发的请求。所有节点都必须能够访问同一本地位置的同一共享网络存储。
进行备份后,将备份的内容传输到新数据中心的可访问位置。如何做到这一点将取决于你的数据中心如何能够通信,但rsync和ssh是通常的嫌疑人。没有办法让数据神奇地在隔离的网络之间传输。
还原备份的集合时,请提供要还原集合的名称作为命令作为collection
参数:
/admin/collections?action=RESTORE&name=myBackupName&location=/path/to/my/shared/drive&collection=myRestoredCollectionName
您还可以在还原备份时覆盖部分现有设置。对于 7.2,这些参数是collection.configName
、replicationFactor
、maxShardsPerNode
、autoAddReplicas
以及通过property.<name>=value
的任何自定义属性。
对于其他Solr版本,请考虑该特定版本的参考指南(尽管我认为该列表对大多数当前使用的版本有效(。