我想在不同的计算机上运行两个Solr实例作为集群。
我的主要兴趣是高可用性 - 这意味着,如果一台服务器崩溃或停机,将会有另一台服务器崩溃。
(我在单个实例上的表现很棒。我不需要将数据拆分为两个服务器。)
问题: 1.什么是最佳做法? 它与索引拆分的聚类不同吗?我需要碎片吗? 我需要动物园饲养员吗? 3.它是基于容器的配置(不同于jetty和tomcat) 4,我需要一个外部NLB吗? 5.一台计算机崩溃后启动。它如何更新其索引?
答案 0 :(得分:0)
您可以定义numShards = 1,就是这样。您需要为此复制一个切片。如果您想要自动化群集管理和热复制 - 是的,您需要SolrCloud模式和ZooKeeper。谈到负载平衡,它取决于您的架构。如果您打算使用SolrJ,那么有一个基本的负载平衡实现。 节点初始化时,进入恢复阶段。在恢复阶段,它与其他现有副本以及自己的事务日志同步。如果其索引版本较旧,则会从其他服务器获取更新版本。