Solr master-master复制替代方案?

时间:2014-06-10 14:10:46

标签: solr replication solr4

目前我们有两台服务器,前面有一台负载均衡器。我们希望能够在没有用户注意的情况下关闭1台机器。 我们的应用程序也使用solr,现在我想安装&在两台服务器上配置solr,问题是如何配置主 - 主复制?

在我的初步研究后,我发现它不可能:( 但我有什么选择呢?我希望两个索引保持同步,当文档在一台服务器上提交时,它也应该转到另一台服务器上。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

不确定您的具体用例(为什么打开和关闭1台服务器?),没有特定的“主 - 主”复制。但是,Solr通过SolrCloud支持分布式索引和查询。来自SolrCloud的文档:

  

复制可确保数据冗余,并使您可以发送   对分片中任何节点的更新请求。如果该节点是   副本,它会将请求转发给领导者,然后   将其转发到所有现有副本,使用版本控制来确保   每个副本都有最新版本。这种架构   使您能够确定您的数据可以在事件中恢复   即使您正在使用近实时搜索,也会发生灾难。

这有点复杂所以我建议你花一些时间通过文档,因为它不像设置几个主人并在它们之间进行负载平衡那么简单。这是Solr使用的先前主/从复制的一大进步,所以即使它不是一个完美的契合,它也会更接近你需要的东西。

https://cwiki.apache.org/confluence/display/solr/SolrCloud

https://cwiki.apache.org/confluence/display/solr/Getting+Started+with+SolrCloud

答案 1 :(得分:1)

您可以创建一个简单的主从复制,如下所述:

https://cwiki.apache.org/confluence/display/solr/Index+Replication

但请确保将插入,删除,更新直接发送给主服务器,但选择可以通过负载均衡器。

另一种方法是创建第三个服务器作为主服务器和2个从服务器,并且lode balancer可以位于两个从服务器的前面。