zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    大厂的面试官是如何挑人的?
    搞懂这7个Maven问题,带你吊打面试官!
    Spring Cloud Eureka 注册安全一定要做到位!
    09 webpack的介绍
    08 node.js 的使用
    07 Node.js安装及环境配置
    06-Nodejs介绍
    05-面向对象
    Mysql 的使用方法
    04-对象的单体模式
  • 原文地址:https://www.cnblogs.com/seufelix/p/13322760.html
Copyright © 2011-2022 走看看