2016-11-14 135 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中使用此存儲庫名稱。

位置和存儲庫選項是互斥的。