Solr 和 Zookeeper 之间的交互是什么?

What is the interaction between Solr and Zookeeper?

我一直在开发一个他们使用 SolrCloud 的系统,它需要一个 Zookeeper 集成来帮助 "manage the overall structure so that both indexing and search requests can be routed properly"(直接出Solr documentation)。

这个"management"到底是什么?什么信息,什么数据/configuration/information 机器 运行 Solr read/write 来自 Zookeeper 集合体,为什么? Zookeeper 中的数据是否在运行时被 solr 更改过?还是您配置 "the data" 一次,运行时将在所有 SolrCloud 主机上读取?

为了正确看待这个问题,这是我第一次接触 Zookeeper、Solr,并在很多方面接触了分布式系统。

A 单节点 Solr 实例使用它自己的配置文件,通常在 conf 文件夹中,其中包含 schema.xmlstopwords.txt 等文件。 但是在 Solr cloud 上下文中,collection 是一个具有 group of cores 的逻辑索引。这些核心组需要集中配置(属于同一集合的核心之间共享相同的配置)。 ZooKeeper 是一种集中式服务,用于维护分布式系统中的配置信息。

您可以上传、下载和编辑配置文件,以便属于同一集合所有核心获得相同的配置集。

您可以阅读有关 Solr 云配置管理的更多信息here