Solrcloud Backup&恢复索引数据

时间:2016-11-14 16:14:25

标签: solr apache-zookeeper solrcloud

从最近几周开始,我在3个开发服务器上使用SolrCloud并使用一个Load Balancer(将来我将把它扩展到5个不同的服务器,用于Zookeeper和Solr)。我目前的SolrCloud结构如下所示。

Server 1 :  Java + Solr(port 8983) + Zookeeper(port 2181) 
Server 2 :  Java + Solr(port 8983) + Zookeeper(port 2181)
Server 3 :  Java + Solr(port 8983) + Zookeeper(port 2181)

在这里,我可以通过上传我的收藏夹的conf来从任何服务器创建SOLR配置。 RELOAD 使用COLLECITON API的集合,我的所有SOLR配置都是同步,我能够完美地索引和搜索我的文档。我的收藏品有 1个碎片 3个副本,然后我将单个碎片拆分为两个。所以基本上它是一个单独的集合,现在有 3 shard 3副本

所以,现在我有一些问题

Q1)我目前的结构确定?或者我需要改变我目前的结构?

Q2)如何备份和恢复我的索引收集数据?

Q3)如果我的某个服务器关闭连接,然后我尝试备份并恢复我的solr数据,会发生什么?

正如我在https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-Backup

处看到备份和恢复收集数据的COLLECTION API端点

但无法弄清楚如何设置path/to/my/shard/drive以及这两个API端点上的所有内容来备份和恢复我的索引数据。急需帮助

2 个答案:

答案 0 :(得分:0)

我遇到过类似问题Solr collection api提供了solr v6.0的完整集合备份 Using Spring Solr Data or Not for Flexible Requests as Like Backup? 转到上面的链接,你可以通过这种方式获得备份 需要在每个分片上调用备份命令

答案 1 :(得分:0)

使用location param设置路径/到/ my / shard / drive。 此路径应存在于所有服务器1,2,3上。 运行restore API时,需要提供相同的Path。 还原将使用路径/ / my / shard / drive上的数据恢复每个分片。

如果您不想在本地文件系统上备份,可以使用hdfs作为备份文件系统。 这可以通过在solr.xml中添加新存储库来完成。并在Backup / Recovery API中使用此存储库名称。

位置和存储库选项是互斥的。