利用 Replication Handler 备份索引

2019-03-27 01:04|来源: 网路

solr 索引备份最简单的方式是通过 Replication Handler。在使用 Replication Handler 之前,需要将 solrconfig.xml 中 SolrReplicationHandler 的注释去掉:

1
2
3
4
5
6
7
8
9
10
11
< requestHandler name = "/replication" class = "solr.ReplicationHandler" >
   < lst name = "master" >
     < str name = "replicateAfter" >commit</ str >
     < str name = "replicateAfter" >startup</ str >
     < str name = "confFiles" >schema.xml,stopwords.txt</ str >
   </ lst >
   < lst name = "slave" >
     < str name = "masterUrl" >http://localhost:8983/solr/replication</ str >
     < str name = "pollInterval" >00:00:60</ str >
   </ lst >
</ requestHandler >
然后启动 web 容器,启动完成后执行

http://localhost:81/apache-solr-3.5.0/replication?command=backup

该请求成功的话,会得到:

1
2
3
4
5
6
7
< response >
< lst name = "responseHeader" >
< int name = "status" >0</ int >
< int name = "QTime" >42</ int >
</ lst >
< str name = "status" >OK</ str >
</ response >

此时在 solr/home 的 data 目录下,会发现类似 snapshot.20120626210126 的目录,该目录就是备份出来的索引库


转自:http://www.cnblogs.com/shihao/archive/2012/07/06/2578736

相关问答

更多
  • 索引用于快速找到特定一些值的记录。如果没有索引,MySQL就必须从第一行记录开始读取整个表来检索记录。表越大,资源消耗越大。如果在字段上有索引的话,MySQL就能很快决定该从数据文件的哪个位置开始搜索记录,而无须查找所有的数据。如果表中有1000条记录的话,那么这至少比顺序地读取数据快100倍。注意,如果需要存取几乎全部1000条记录的话,那么顺序读取就更快了,因为这样会使磁盘搜索最少。   大部分MySQL索引(PRIMARY KEY, UNIQUE,INDEX 和 FULLTEXT)都是以B树方式存储。 ...
  • 1.jpg 可以通过下面命令: hadoop fsck / 来查看副本数目 副本数按dfs.replication设置,如果有失效节点导致某数据块副本数降低,当低于dfs.replication.min后, 系统 再在其他节点处复制新的副本。如果该数据块的副本经常丢失,导致在环境中太多的节点处复制了超过dfs.replication.max的副本数,那么就不再复制了。
  • 1.打开一个excel工作簿,我这里就新建一些工作表来举例,如图。 2.在第一个工作表上点击鼠标右键,选择插入命令,然后重命名为【索引目录】。 3.点击选中【索引目录】工作表中的B1单元格,然后点击菜单【公式】中的定义名称。 4.在弹出的定义名称窗口中输入名称【索引目录】,然后在引用位置文本框输入公式 =INDEX(GET.WORKBOOK(1),ROW(A1))&T(NOW()) ,最后点击确定。 5.点击B1单元格,输入公式=IFERROR(HYPERLINK(索引目录&"!A1",MID(索引目录,F ...
  • 忘记复制或更改数据跟踪。 那些不复制模式,并且增加了大量的开销。 它们都不被设计为高可用性或灾难恢复解决方案。 它们可以像这样使用,但与诸如日志传送,数据库镜像或硬件镜像等专用解决方案相比,它们显得苍白无力。 日志传送传输数据库中的所有内容 ,包括模式,以及用户,权限,索引,数据等等。 您没有指定您何时传输日志备份。 每15分钟做一次差异备份听起来像是过度杀毒。 差异备份是累积性的,它们包含自上次完整备份以来的所有更改,所以它们在一天中的大小将会增加。 15分钟听起来像是定期日志备份的时间段,而不是差分日志 ...
  • 如果您只需要数据库中的几张表格进行报告,则复制更有用,但您也可以使用STAND BY模式设置辅助服务器的日志传送(特别是在需要大量数据的情况下用于报告)时,则可以在辅助服务器上运行报告。 您只需记住日志传送会干扰事务日志备份,因此您必须将两个进程的日志备份文件使用相同的文件夹。 If you need just couple of tables from your DB for reports, replication is more useful, but you also can set up log ...
  • 您可以尝试索引复制包并在3.0上编译它 You can try the index replication bundle and compile that on 3.0
  • 您的想法很好,因为所有数据库客户端都将获得一致的结果,而没有复制延迟的风险。 当主节点发生故障时,所有客户端将再次收到一致的结果(在最大的复制延迟情况下,他们会看到略有不同的数据,但仍然会保持一致)。 Your idea is fine, because then all database clients will get consistent results without risks of replication delays. When the main node would go down, all ...
  • 备份和还原之前要检查两件事。 确保您在一个数据库中拥有发布者和订阅者的所有数据。 它可能是出版商。 如果您有ETL从不同的源加载发布者和订阅者数据库,这一点非常重要。 发布者和订阅者都运行http://technet.microsoft.com/en-us/library/ms188734%28v=sql.105%29.aspx 如果需要减少备份文件,请编写所有索引的脚本。 一旦你同步,你可以创建它们l8r。 发布者上的备份数据库并将其恢复为订阅者 下一个 创建出版物 创建快照 将登录名添加到您的出版物的访 ...
  • 也许不是一个正确的答案,但问题似乎解决了。 当然,我们必须做一些事情才能实现这一点,但是我们所能想到的就是删除log4j属性文件中的CONSOLE日志记录并删除它创建的11GB日志文件。 猜猜这可能至少可以为其他人提供其他东西来尝试谁有同样的问题。 Maybe not a proper answer but the issue seemed to resolve itself. Of course we must have done something to make this happen, howeve ...