微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决从属设置中的Apache Solr故障转移支持

|| 我们的开发团队目前正在研究将搜索系统迁移到Apache Solr的过程,我们将非常感谢您提供一些有关安装的建议。我们正在索引大约两亿个数据库行。我们整天增加约十万行。这些新的数据库行必须在收到后两分钟内进行搜索。 我们不希望索引陷入困境,因此我们的想法是在复制设置中让两台Solr服务器在不同的计算机上运行。第一个Solr实例将是索引器。它将使用dataimporthandler索引增量,并启用自动提交功能以防止过高的提交速率。索引优化将在计划的时间段内进行。第二个Solr实例(从属)将是主要搜索器,并将其索引存储在RAID固态驱动器上。 我们关心的是故障转移。我们的搜索至关重要。如果主要搜索者由于某种原因而失败,我们的搜索服务将自动查询分流到索引器节点。但是,索引编制同样重要。如果索引器死了,我们需要准备好热故障转移。 Solr复制中是否存在建议的自动主节点故障转移的方法?我已经开始研究ZooKeeper,但是我不确定这是否是最好的方法。     

解决方法

        确定了搜索故障转移后,即可使用复制进行处理。 主服务器故障转移有些棘手。一个类似以下逻辑设置的想法
+--------+       +--------+
|  Slave |  ...  |  Slave |
+--------+       +--------+
     |               |
     v (replicate)   v
+---------------------------+
|     Load balancer         |
+---------------------------+
         /         \\
        v           v
+--------+       +--------+
| Master | --->  | Master |
+--------+       +--------+
为了使主索引保持最新的“ 1”模式,可以在其中从热备份主数据库复制热备份主数据库。 要么 在主控主机上使用类似“ 2”处理程序之类的保持活动通知。如果无法达到,则编写一个小的程序化组件,该组件将触发辅助主服务器的数据导入处理程序。 使数据导入处理程序在所有主服务器上保持活动状态,从而允许它们中的任何一个接管操作而无需进行其他配置。 请注意,您可能需要配置负载平衡器,以便从属服务器在任何时间点只能从一个主服务器复制。 附带一提,听到您索引如此庞大的数据集的一些经验会很有趣。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?