5

我们正在使用solr 3.6 复制和 2 个服务器 -一个主服务器和一个从属服务器 -我们目前正在寻找进行干净备份的方法。

正如 wiki 所说,我们可以使用 HTTP 命令来创建 master 的快照,如下所示:http://myMasterHost/solr/replication?command=backup

但是我们仍然有一些问题:

  • backup复制索引文件的经典 shell 脚本上的命令有什么好处?

  • 该命令只备份索引;spellchecker文件夹也可以复制吗?需要吗?

  • 我们可以在应用程序运行时创建快照,以便在有潜在的索引更新时创建快照吗?

  • 当我们必须从备份中恢复服务器时,我们必须在从服务器上做什么?
    • 只需将快照复制到其索引文件夹中,然后删除replication.properties文件(或不删除)?
    • 通过 HTTP 命令请求 fetchindex http://mySlave/solr/replication?command=fetchindex
    • 只是清空从属索引文件夹,以强制从主控进行完全复制?
4

1 回答 1

3

您可以使用ReplicationHandlerbackup提供的命令。这是一个异步操作,如果您的索引很大,则需要时间。这样你就不需要关闭 Solr。然后您会在索引目录中找到一个以备份日期命名的新目录。您还可以配置要保留多少旧备份。backup.yyyymmddHHMMSS

在那之后当然最好将备份移动到一个安全的位置,可能是另一台服务器。

我认为不可能备份拼写检查器,但不完全确定。

当然,该命令是在应用程序运行时运行的。唯一的问题是您可能会在备份中丢失您在开始备份后提交的文档。

您还可以查看 lucene CheckIndex 工具。备份索引后,您可以检查索引是否正常。

如果您在主服务器上已经有一个好的索引,我个人不会使用备份来恢复从服务器上的索引。索引的副本将使用标准复制过程自动进行(它实际上是索引段的副本),您不需要手动复制它们,除非备份包含比主副本更好的数据。

于 2012-08-30T08:04:28.283 回答