从最近几周开始,我在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端点上的所有内容来备份和恢复我的索引数据。急需帮助
答案 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中使用此存储库名称。
位置和存储库选项是互斥的。