将 Zookeeper 添加到现有的 Solr

Adding Zookeeper to existing Solr

我有一个现有的 Solr 设置,运行在一个独立的 Solr 实例上运行。 我被要求为此设置添加弹性和高可用性。 所以我想在我的设置中添加复制,我相信 SolrCloud 是可行的方法吗?

我已经 运行 完成了 SolrCloud wiki 上的演示。 但是我不确定如何将我现有的 Solr 实例添加到 ZooKeeper,然后添加更多节点以供其复制。这是否可以不重新填充?

wiki 指出

NOTE: When you are not using an example to start solr, make sure you upload the configuration set to zookeeper before creating the collection.

但是我不确定它指的是哪些文件以及如何做到这一点?

当前设置信息:

愿望清单

我试过的:

但是我从 solr "Could not load SOLR configuration" 收到一个错误。

所以我想我的问题总结为:

  1. 对于我的设置,SolrCloud 是首选而不是 ReplicationHandler?
  2. 是否可以在不重新索引的情况下添加 solrCloud 和 ZK 支持(50 小时是很长的时间)?
  3. 我应该将哪些配置文件添加到 zk 以及如何添加?
  4. 我是否更正了,如果没有额外的配置更改,分片不是一个选项,因为我在查询中使用分组?
  5. 我应该从 solr 4.5.1 升级到什么程度?
  6. 最重要的是,我的 "Wish list" 看起来像棒状的 idea/bad idea/moon 吗?如果好,如何实现?如果不好,有什么建议吗?

我是 Solr 的新手(使用约 12 个月),对 Zookeeper 和 SolrCloud 也是新手(约 2 周 reading/experimenting),因此非常感谢任何有关实现上述目标的建议。

使用 solrcloud,如果您使用多个分片,您可以将内容拆分到不同的节点上。 您可以从单个分片(一个领导者和几个副本)开始。然后将当前使用的solr classic中的index和tlog目录复制到solr cloud leader中。这样你就不需要重建索引。稍后,如果内容对于单个节点来说太大,或者如果您想将索引分布到多个节点,则可以拆分分片。 最新的 solr 版本是 4.10.3。为什么不使用它而不是 4.5.1?

Solr 文档很好地解释了如何创建 zk 内容: https://cwiki.apache.org/confluence/display/solr/SolrCloud+Configuration+and+Parameters

基本上当你启动你的第一个 solr 云节点时,你告诉它 zk 集群在哪里,或者你可以选择在与 solr 相同的节点上启动 zk。您还需要告诉它配置文件在哪里,因为它会将它们复制到 zk 上。

  • 对于我的设置,SolrCloud 是首选而不是 ReplicationHandler?

SolrCloud 是 Solr 的发展方向,所以我同意。

  • 是否可以在不重新索引的情况下添加 solrCloud 和 ZK 支持(50 小时是很长的时间)?

如果您不使用分片,仅使用副本,则无需重建索引。

  • 我应该将哪些配置文件添加到 zk 以及如何添加?

用 -Dbootstrap_conf=true 启动你的第一个 Solr,这会将你的配置文件加载到 ZK。

  • 我是否更正了,如果没有额外的配置更改,分片不是一个选项,因为我在查询中使用分组?

取决于您对分组的具体操作,请参阅 https://wiki.apache.org/solr/DistributedSearch 了解支持与否。

  • 我应该从 solr 4.5.1 升级到什么程度?

升级到最新版本是个好主意,虽然过了 Solr 4.7,您将需要 Java 7.

  • 最重要的是,我的 "Wish list" 看起来像棒状的 idea/bad idea/moon 吗?如果好,如何实现?如果不好,有什么建议吗?

我投赞成票,我有一个类似的。