我对solrCloud有点困惑。但是,如何在多个服务器上部署SolrCloud?每台单独的服务器是多个节点,还是每台服务器一个solrCloud节点和多个分片?
所有这些如何与Zookeeper通信(据我了解,Zookeeper也必须部署在单独的服务器上,对吗?)
我对这一切有点困惑吗?你能帮助我吗?还是给一个好的教程提供链接?
答案 0 :(得分:1)
有关Solr Cloud概念的SolrCloud section of the reference manual should be able to help you out。
您可以在一台服务器上运行多个节点,也可以在每台服务器上运行一个节点。这完全取决于您-但在单个服务器上运行的所有节点都将在该服务器关闭时消失。在单个服务器上运行多个节点的用例通常用于实验或非常特殊的要求,以尝试从Lucene的单线程部分获得某些加速,因此,除非您进行低级优化,否则每个服务器只有一个节点是你想要的。
该规则的例外是开发和实验-如果数据无关紧要,则可以在一台计算机上运行多个节点。
所有节点组成一个SolrCloud集群-因此您将运行多个节点,而不是多个集群。
Zookeeper(通常)应部署在三到五台服务器上-取决于您要进行故障转移的弹性类型。 Solr捆绑了Zookeeper实例时,如果您不想自己设置Zookeeper,则可以使用,但不建议在生产中使用。在生产环境中,您将Zookeeper作为单独的进程运行-但这并不意味着您将在单独的服务器上运行它。根据您将看到的节点的Zookeeper流量和使用情况而定,将它们与云节点在同一服务器上运行会很好。关键是要避免使用捆绑版本来完全控制Zookeeper及其配置,并能够在Solr之外升级/管理实例。
如果以后需要,您可以将Zookeeper移至其自己的服务器集群(至少三个)。