我正在阅读此PDF:http://2010.lucene-eurocon.org/slides/Solr-In-The-Cloud_Mark-Miller.pdf,并且有一节介绍CloudSolrServer
。特别是,这句话是:
它保留了服务器和死服务器的列表。当对服务器的请求失败时,该服务器将添加到“死”列表中,而是查询另一个“实时”服务器。 “死”服务器列表偶尔会被ping,如果服务器返回,它会被移回“实时”列表。
当SOLR实例或机器崩溃时,这可以正常工作,但是对于正常维护,这将是不合需要的,因为正在进行的请求将会丢失。通常使用正常的负载均衡器,有一种方法可以关闭盒子的流量,然后在此之后的某个时间间隔内正常关闭。
由于看起来CloudSolrServer旨在取代SOLR集群前面的传统负载均衡器,我想知道正常关机。在不丢失请求的情况下关闭SOLR实例的推荐方法是什么(使用CloudSolrServer时)?
答案 0 :(得分:0)
如果要优雅地关闭实例,则需要先从ZooKeeper中删除相应的节点,然后关闭该实例。您可以使用“DELETEREPLICA”命令从ZK中删除节点:
/管理/集动作= DELETEREPLICA&安培;采集=集合&安培;碎片=碎片&安培;复制品=复制品
See more in Solr Collections API documentation
从ZooKeeper中删除临时节点后,CloudSolrServer将停止向其发送请求。