我想知道关于Zookeeper和SolrCloud集群的最佳策略。是否应该为每个SolrCloud集群指定一个Zookeeper集群,或者多个SolrCloud集群可以共享一个Zookeeper集群?我想前者肯定是一种非常安全的方法,但我想知道第二种选择是否也可以。
发布于 2014-04-28 00:05:03
据我所知,SolrCloud使用Zookeeper来共享集群状态(启动、关闭节点)和加载核心共享配置(solrconfig.xml、schema.xml等)。开机时。如果您有基于SolrJ的CloudSolrServer实现的客户端,那么它们将主要执行集群状态的读取。
在这方面,我认为共享相同的ZK合奏应该是可以的。多读少写,这正是ZK的设计目标。
发布于 2014-04-28 10:47:11
SolrCloud对ZooKeeper集群的负载很小,所以如果纯粹是性能方面的考虑,那就没有问题了。如果每个SolrCloud都在本地网络上,那么每个ZK集群可能是一种资源浪费。只需确保ZooKeeper配置位于单独的ZooKeeper路径中。例如,为一个SolrCloud使用-zkHost :/,并将第二个SolrCloud的"path1“替换为"path2”,将把solr文件放在ZooKeeper中的单独路径中,以确保它们不会冲突。
请注意,ZK集群应该配置良好且健壮,因为如果它停止运行,那么没有一个SolrClouds能够响应节点可用性或状态的变化。(如果SolrCloud引线丢失、不可连接或节点进入恢复状态等)
https://stackoverflow.com/questions/23318261
复制相似问题