将 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 4.5.1
- 2vCPU 的 24GB 内存
- 索引中有 6600 万个文档
- 58Gb 索引大小
- 批量索引时间~50 小时
- 最多 4000 个用户
- 400 平均并发用户
- 每天 2 万次更新
- 用户通过 solrJ 应用程序搜索
- 查询涉及分组
愿望清单
- 现有 Solr 索引已复制到 2 个新节点
- 3 个 Zookeeper 节点提供弹性
我试过的:
- 下载Zookeeper,运行 zkServer以默认设置启动-OK
- 使用选项 -DzkHost=actualhostname:2181 启动现有的 solr 设置
但是我从 solr "Could not load SOLR configuration" 收到一个错误。
所以我想我的问题总结为:
- 对于我的设置,SolrCloud 是首选而不是 ReplicationHandler?
- 是否可以在不重新索引的情况下添加 solrCloud 和 ZK 支持(50 小时是很长的时间)?
- 我应该将哪些配置文件添加到 zk 以及如何添加?
- 我是否更正了,如果没有额外的配置更改,分片不是一个选项,因为我在查询中使用分组?
- 我应该从 solr 4.5.1 升级到什么程度?
- 最重要的是,我的 "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 吗?如果好,如何实现?如果不好,有什么建议吗?
我投赞成票,我有一个类似的。
我有一个现有的 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 4.5.1
- 2vCPU 的 24GB 内存
- 索引中有 6600 万个文档
- 58Gb 索引大小
- 批量索引时间~50 小时
- 最多 4000 个用户
- 400 平均并发用户
- 每天 2 万次更新
- 用户通过 solrJ 应用程序搜索
- 查询涉及分组
愿望清单
- 现有 Solr 索引已复制到 2 个新节点
- 3 个 Zookeeper 节点提供弹性
我试过的:
- 下载Zookeeper,运行 zkServer以默认设置启动-OK
- 使用选项 -DzkHost=actualhostname:2181 启动现有的 solr 设置
但是我从 solr "Could not load SOLR configuration" 收到一个错误。
所以我想我的问题总结为:
- 对于我的设置,SolrCloud 是首选而不是 ReplicationHandler?
- 是否可以在不重新索引的情况下添加 solrCloud 和 ZK 支持(50 小时是很长的时间)?
- 我应该将哪些配置文件添加到 zk 以及如何添加?
- 我是否更正了,如果没有额外的配置更改,分片不是一个选项,因为我在查询中使用分组?
- 我应该从 solr 4.5.1 升级到什么程度?
- 最重要的是,我的 "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 吗?如果好,如何实现?如果不好,有什么建议吗?
我投赞成票,我有一个类似的。