主从设置中的Apache Solr故障转移支持

时间:2011-06-15 18:25:55

标签: apache solr backup replication failover

我们的开发团队目前正在考虑将我们的搜索系统迁移到Apache Solr,我们非常感谢有关设置的一些建议。我们正在索引大约两亿个数据库行。我们全天增加了大约十万个新行。这些新的数据库行必须在收到后的两分钟内进行搜索。

我们不希望索引使搜索者陷入困境,因此我们的想法是在复制设置中让不同的计算机上运行两个Solr服务器。第一个Solr实例将是索引器。它将使用DataImportHandler索引增量并启用自动提交以防止过热的提交率。索引优化将在预定期间进行。第二个Solr实例(从属)将成为主要搜索器,并将其索引存储在RAIDed固态驱动器上。

我们关注的是故障转移。我们的搜索是关键任务。如果主要搜索者因任何原因而失败,我们的搜索服务将自动将查询分流到索引器节点。但索引同样重要。如果索引器死了,我们需要热备故障转移。是否有推荐的方法在Solr复制中自动执行主节点故障转移?我已经开始研究ZooKeeper,但我不确定这是否是最好的方法。

1 个答案:

答案 0 :(得分:14)

如您所知,可以使用复制来处理搜索故障转移。

主故障转移有点棘手。一个想法,如下面的逻辑设置

+--------+       +--------+
|  Slave |  ...  |  Slave |
+--------+       +--------+
     |               |
     v (replicate)   v
+---------------------------+
|     Load balancer         |
+---------------------------+
         /         \
        v           v
+--------+       +--------+
| Master | --->  | Master |
+--------+       +--------+
  • 要使主索引保持最新repeater模式,可以使用热备份主服务器可以从主服务器进行复制的方式
  • 要么
    • 使用主要主服务器上的Ping处理程序之类的内容作为保持活动通知。如果无法访问,请编写一个小程序组件,触发辅助主服务器的数据导入处理程序以接管。
    • 使数据导入处理程序在所有主服务器上保持活动状态,允许其中任何一个在没有其他配置的情况下接管操作。

请注意,您可能需要配置负载均衡器,以便从站只能在任何时间点从一个主站复制。

另一方面,听一些索引如此庞大的数据集的经验会很有趣。

相关问题