SolrCloud中的负载平衡和索引



我有一些关于SolrCloud的问题:

  1. 如果我直接向属于solr集群的solr节点发送请求,它会将查询委托给zookeeper集成来处理吗?

  2. 我想有一个单一的url发送请求到SolrCloud。有没有比设置一个外部负载均衡器更好的方法来实现这一点,该均衡器直接在各个solr节点之间进行平衡?如果1不是真的,那么这种方法似乎是个坏主意。最重要的是,我觉得这会在某种程度上违背动物园管理员团队的目的。

  3. 可以选择将集合分解为碎片。如果我这样做,SolrCloud究竟是如何决定哪个文档进入哪个碎片的?是否需要和/或可以选择配置此流程?

  4. 如果我将文档集合直接发送到其中一个solr节点,会发生什么?数据集会以某种方式在碎片之间均匀分布吗?如果是,它是如何发生的?

非常感谢!

  1. 动物园管理员"只是";保持所有节点的配置数据可用,即集群的状态等;"委派";对它;这只是Solr节点和客户端知道集群中哪些节点处理哪些集合的一种方式,并以弹性和可用的方式存储这些信息(即将管理集群的困难部分留给Zookeeper(。

  2. 最好的方法是使用云感知Solr客户端-它将连接到其配置中给定的任何可用Zookeeper节点,检索集群状态,并直接连接到具有所需信息的节点(即需要查询的集合(。如果你不能做到这一点,你可以在集群中的所有节点上使用外部负载均衡器进行负载平衡,或者如果你使用的客户端支持循环,则让客户端进行负载平衡,等等,但拥有一个外部负载均衡器可以为您带来其他好处(例如能够同时从所有客户端的负载平衡中删除一个节点,在th enodes前面拥有专用的http缓存,等等(,以便进行更多的管理。

  3. 它将使用唯一id字段来决定给定文档应该路由到哪个节点。您不必配置任何内容,但您可以告诉Solr使用特定字段或字段的特定前缀等作为路由关键字。请参阅文档传送。以获取具体信息。它允许您确保属于特定客户端/应用程序的所有文档都放置在同一节点上(这对于某些计算和可能的操作很重要(。

  4. 它被路由到正确的节点。这是否均匀取决于您的路由密钥,但默认情况下,它将尽可能均匀。

相关内容

  • 没有找到相关文章

最新更新