目前我们有两台服务器,前面有一台负载均衡器。我们希望能够在没有用户注意的情况下关闭1台机器。 我们的应用程序也使用solr,现在我想安装&在两台服务器上配置solr,问题是如何配置主 - 主复制?
在我的初步研究后,我发现它不可能:( 但我有什么选择呢?我希望两个索引保持同步,当文档在一台服务器上提交时,它也应该转到另一台服务器上。
感谢您的帮助!
答案 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可以位于两个从服务器的前面。