2016-11-14 161 views
1

从过去的几个星期,我3开发服务器上使用SolrCloud有一个负载平衡器(在将来,我将它扩展到了动物园管理员和Solr 5个不同的服务器)。我目前的SolrCloud结构如下所示。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我收藏的& RELOAD使用COLLECITON API集合,我所有的SOLR配置同步从任何服务器创建SOLR配置,我能够索引和搜索我的文件完美。我收集了1碎片3副本,然后我的一个碎片分裂为两个。所以基本上它是一个单一的集合与3碎片3副本现在。

所以,现在我有一些问题

Q1)是我目前的结构OK?或者我需要改变我目前的结构?

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

Q3)如果我的服务器之一关闭连接,然后我试图备份和恢复我的solr数据会发生什么?

正如我所见过的COLLECTION API端点备份和https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-Backup

这里恢复收集数据,但无法弄清楚如何在这两个API端点path/to/my/shard/drive和所有的东西设置为备份和恢复我的索引数据。需要帮助严重

回答

0

使用位置参数来设置路径/到/我/碎片/驱动器。 此路径应该是目前所有服务器1,2,3上。 当运行恢复API,您需要提供相同的路径。 恢复使用存在于路径数据/到/将恢复每个碎片我/碎片/驱动器。

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

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