我读了这个PDF:Mark-Miller.pdf,有一节谈到了CloudSolrServer。特别是,这一声明是:
它保存了一个活服务器和死服务器的列表。当对服务器的请求失败时,该服务器将被添加到“死”列表中,而另一个“活动”服务器将被查询。“死”服务器列表偶尔会被点击,如果服务器返回,它将被移回‘live’列表。
当SOLR实例或机器崩溃时,这很好,但是对于正常维护来说,这是不可取的,因为正在进行的请求将丢失。通常使用普通负载均衡器,有一种方法可以关闭到一个盒子的流量,然后正常关闭可以继续在某个时间间隔之后。
由于CloudSolrServer似乎是为了在SOLR集群前面取代传统的负载均衡器,所以我想知道如何优雅地关闭。在不丢失请求的情况下(同时使用CloudSolrServer),建议的关闭SOLR实例的方法是什么?
发布于 2015-02-18 18:43:00
如果您想要优雅地关闭一个实例,您需要首先从ZooKeeper中删除相应的节点,然后关闭该实例。您可以使用"DELETEREPLICA“命令从ZK删除节点:
/admin/collections?action=DELETEREPLICA&collection=collection&shard=shard&replica=replica
一旦从ZooKeeper中删除了临时节点,CloudSolrServer将停止向其发送请求。
https://stackoverflow.com/questions/13935909
复制相似问题