SolrCloud集群數據備份恢復方案


1.solr集群備份
(1) solr集群數據備份首先預估磁盤空間
a. 執行備份前需要配置solr集群的使用hdfs備份。
對每台solr機器,在server/solr/solr.xml配置中
增加如下幾行。
<backup>
<repository name="hdfs" class="org.apache.solr.core.backup.repository.HdfsBackupRepository" default="false">
<str name="location">hdfs://172.16.199.70:9000/solrbackup</str>
<str name="solr.hdfs.home">hdfs://172.16.199.70:9000/solrhome</str>
<str name="solr.hdfs.buffer.size">262144</str>
</repository>
</backup>
其中location和solr.hdfs.home參數配置的是hdfs上的目錄地址,應替換成實際的hdfs地址。
配置修改保存后,重啟每個solr服務。

b. 備份方式:對每個集合使用如下的命令進行備份。
admin/collections?action=BACKUP&name=backupname&collection=collectionname&location=backupdir&repository=repositoryname&async=asyncid
其中:
collection參數為要備份的集合的名稱。
location 備份的數據位置(使用hdfs目錄,目錄權限設置為777)
name 備份的名稱。
repository 要用於備份的存儲庫的名稱(使用hdfs即可)
可以參考如下具體命令:http://172.16.199.70:9090/solr/admin/collections?action=BACKUP&name=testcollectionbackup&collection=newtestcollection&location= hdfs://172.16.199.70:9000/solrbackup &async=345576&repository=hdfs
備注:
目前網安網上有部分solr集合通過http://172.16.199.70:9090管理,有部分集合數據通過http://172.16.199.70:8080管理,備份時需要通過界面進行區分。

c. 可以根據async參數值查看備份任務的進展狀況。
命令:admin/collections?action= REQUESTSTATUS& requestid=requested
可以參考如下具體命令:http://172.16.199.70:9090/solr/admin/collections?action=REQUESTSTATUS&requestid=345544
備注:此處的requestid對應備份命令中async參數值。

2 solr集群數據恢復
(1) 備份數據待恢復的目的新集群節點和舊集群節點數量一致,也許要配置solr集群的使用hdfs備份,具體參考1.(1).a這小章節。
(2) 運行如下的命令還原集合:
admin/collections?action=RESTORE&name=backupname&collection=collectionname&location=backupdir&repository=repositoryname&async=asyncid
RESTORE操作將在collection參數中創建一個具有指定名稱的集合。
具體可以參考下面的命令:
http://172.16.200.110:9983/solr/admin/collections?action=RESTORE&name=testcollectionbackup&collection=testcollectionbackup2&location=hdfs://172.16.199.70:9000/solrbackup&async=346570&repository=hdfs

數據恢復任務同樣可以通過admin/collections?action= REQUESTSTATUS& requestid=requested,這個命令查看任務的進展狀況。
查看進展的結果如下則顯示該collection恢復已經完畢。
"responseHeader":{
"status":0,
"QTime":2},
"status":{
"state":"completed",
"msg":"found [346570] in completed tasks"}}
也可以核對恢復后的文檔數量和原collection文檔數量是否一致。

(3) 恢復后的collection中的shard數量和原collection數量是相同的,但每個shard只有一個replica。可以根據需要對shard增加分片,可以參考如下命令:
http://172.16.200.110:8983/solr/admin/collections?action=ADDREPLICA&collection=testcollectionback2&shard=shard1&async=34567


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM